let absurd_URI = uri "cic:/Coq/Init/Logic/absurd.con"
end
-module Logic_Type =
- struct
- let eqt_URI = uri "cic:/Coq/Init/Logic_Type/eqT.ind"
- let sym_eqt_URI = uri "cic:/Coq/Init/Logic_Type/sym_eqT.con"
-
- let refl_eqt = mutconstruct eqt_URI 0 1
- let sym_eqt = const sym_eqt_URI
- end
-
module Datatypes =
struct
let bool_URI = uri "cic:/Coq/Init/Datatypes/bool.ind"
Cic.Appl [
Cic.MutInd (HelmLibraryObjects.Logic.eq_URI, 0, []);
Cic.Implicit (Some `Type); t1; t2 ] ]));
- DisambiguateChoices.add_symbol_choice "neq"
- ("not equal to (sort Type)",
- (fun env _ args ->
- let t1, t2 =
- match args with
- | [t1; t2] -> t1, t2
- | _ -> raise DisambiguateChoices.Invalid_choice
- in
- Cic.Appl [ const HelmLibraryObjects.Logic.not_URI;
- Cic.Appl [
- Cic.MutInd (HelmLibraryObjects.Logic_Type.eqt_URI, 0, []);
- Cic.Implicit (Some `Type); t1; t2 ] ]));
-
| _ -> raise DisambiguateChoices.Invalid_choice
in
Cic.Appl [
- Cic.MutInd (HelmLibraryObjects.Logic_Type.eqt_URI, 0, []);
+ Cic.MutInd (HelmLibraryObjects.Logic.eq_URI, 0, []);
Cic.Implicit (Some `Type); t1; t2
]));
DisambiguateChoices.add_binary_op "and" "logical and"
let termty = (CicTypeChecker.type_of_aux' metasenv context term) in
(match termty with
(C.Appl [(C.MutInd (equri, 0, [])) ; tty ; t1 ; t2])
- when (U.eq equri Logic.eq_URI)
- or (U.eq equri Logic_Type.eqt_URI) -> (
+ when (U.eq equri Logic.eq_URI) -> (
match tty with
(C.MutInd (turi,typeno,exp_named_subst))
| (C.Appl (C.MutInd (turi,typeno,exp_named_subst)::_)) -> (
let termty = (CicTypeChecker.type_of_aux' metasenv context term) in
match termty with (* an equality *)
(C.Appl [(C.MutInd (equri, 0, [])) ; tty ; t1 ; t2])
- when (U.eq equri Logic.eq_URI) or
- (U.eq equri Logic_Type.eqt_URI) -> (
+ when (U.eq equri Logic.eq_URI) -> (
match tty with (* some inductive type *)
(C.MutInd (turi,typeno,exp_named_subst))
| (C.Appl (C.MutInd (turi,typeno,exp_named_subst)::_)) ->
let termty = (CicTypeChecker.type_of_aux' metasenv context term) in
match termty with
(C.Appl [(C.MutInd (equri, 0, [])) ; tty ; t1 ; t2])
- when (U.eq equri Logic.eq_URI) or (U.eq equri Logic_Type.eqt_URI) -> (
+ when (U.eq equri Logic.eq_URI) -> (
match tty with
(C.MutInd (turi,typeno,exp_named_subst))
| (C.Appl (C.MutInd (turi,typeno,exp_named_subst)::_)) ->
*)
let ringable =
let is_equality = function
- | Cic.MutInd (uri, 0, []) when (eq uri Logic_Type.eqt_URI) -> true
+ | Cic.MutInd (uri, 0, []) when (eq uri Logic.eq_URI) -> true
| _ -> false
in
let is_real = function
*)
let ring_tac ~status:((proof, goal) as status) =
warn "in Ring tactic";
- let eqt = mkMutInd (Logic_Type.eqt_URI, 0) [] in
+ let eqt = mkMutInd (Logic.eq_URI, 0) [] in
let r = Reals.r in
let metasenv = metasenv_of_status ~status in
let (metano, context, ty) = CicUtil.lookup_meta goal metasenv in
"exact sym_eqt su t1 ...", exact_tac
~term:(
Cic.Appl
- [mkConst Logic_Type.sym_eqt_URI
+ [mkConst Logic.sym_eq_URI
[equality_is_a_congruence_A, Reals.r;
equality_is_a_congruence_x, t1'' ;
equality_is_a_congruence_y, t1
exact_tac
~term:(
Cic.Appl
- [mkConst Logic_Type.sym_eqt_URI
+ [mkConst Logic.sym_eq_URI
[equality_is_a_congruence_A, Reals.r;
equality_is_a_congruence_x, t2'' ;
equality_is_a_congruence_y, t2