NCic.LetIn (cic_name, cic_typ, cic_def, cic_body)
| CicNotationPt.LetRec (_kind, _defs, _body) -> NCic.Implicit `Term
| CicNotationPt.Ident _
NCic.LetIn (cic_name, cic_typ, cic_def, cic_body)
| CicNotationPt.LetRec (_kind, _defs, _body) -> NCic.Implicit `Term
| CicNotationPt.Ident _
with Not_found ->
try NCic.Const (List.assoc name obj_context)
with Not_found ->
Disambiguate.resolve ~env ~mk_choice (Id name) (`Args []))
with Not_found ->
try NCic.Const (List.assoc name obj_context)
with Not_found ->
Disambiguate.resolve ~env ~mk_choice (Id name) (`Args []))
| CicNotationPt.Implicit -> NCic.Implicit `Term
| CicNotationPt.UserInput -> NCic.Implicit `Hole
| CicNotationPt.Num (num, i) ->
| CicNotationPt.Implicit -> NCic.Implicit `Term
| CicNotationPt.UserInput -> NCic.Implicit `Hole
| CicNotationPt.Num (num, i) ->
| CicNotationPt.Sort `Set -> NCic.Sort (NCic.Type
[false,NUri.uri_of_string "cic:/matita/pts/Type.univ"])
| CicNotationPt.Sort (`Type _u) -> NCic.Sort (NCic.Type
| CicNotationPt.Sort `Set -> NCic.Sort (NCic.Type
[false,NUri.uri_of_string "cic:/matita/pts/Type.univ"])
| CicNotationPt.Sort (`Type _u) -> NCic.Sort (NCic.Type
| CicNotationPt.Sort (`NType s) -> NCic.Sort (NCic.Type
[false,NUri.uri_of_string ("cic:/matita/pts/Type" ^ s ^ ".univ")])
| CicNotationPt.Sort (`NType s) -> NCic.Sort (NCic.Type
[false,NUri.uri_of_string ("cic:/matita/pts/Type" ^ s ^ ".univ")])
| CicNotationPt.Symbol (symbol, instance) ->
Disambiguate.resolve ~env ~mk_choice
(Symbol (symbol, instance)) (`Args [])
| CicNotationPt.Symbol (symbol, instance) ->
Disambiguate.resolve ~env ~mk_choice
(Symbol (symbol, instance)) (`Args [])
let fields' =
snd (
List.fold_left
(fun (context,res) (name,ty,_coercion,_arity) ->
let ty =
let fields' =
snd (
List.fold_left
(fun (context,res) (name,ty,_coercion,_arity) ->
let ty =
~is_path:false ty in
let context' = (name,NCic.Decl ty)::context in
context',(name,ty)::res
) (context,[]) fields) in
let concl =
~is_path:false ty in
let context' = (name,NCic.Decl ty)::context in
context',(name,ty)::res
) (context,[]) fields) in
let concl =
in
List.map (function (a,b,c,d,_) -> a,b,c,d) res, b
;;
in
List.map (function (a,b,c,d,_) -> a,b,c,d) res, b
;;