diff options
-rw-r--r-- | ide/coq_commands.ml | 1 | ||||
-rw-r--r-- | tactics/extratactics.ml4 | 16 |
2 files changed, 16 insertions, 1 deletions
diff --git a/ide/coq_commands.ml b/ide/coq_commands.ml index 1971fb4f0..0176ccf85 100644 --- a/ide/coq_commands.ml +++ b/ide/coq_commands.ml @@ -22,6 +22,7 @@ let commands = [ "Add Rec ML Path"; "Add Ring A Aplus Amult Aone Azero Ainv Aeq T [ c1 ... cn ]. "; "Add Semi Ring A Aplus Amult Aone Azero Aeq T [ c1 ... cn ]."; + "Add Relation"; "Add Setoid"; "Axiom";]; [(* "Back"; *) ]; diff --git a/tactics/extratactics.ml4 b/tactics/extratactics.ml4 index 7cc6cd5bd..694e88801 100644 --- a/tactics/extratactics.ml4 +++ b/tactics/extratactics.ml4 @@ -174,10 +174,24 @@ TACTIC EXTEND SetoidRewrite END VERNAC COMMAND EXTEND AddSetoid -| [ "Add" "Setoid" constr(a) constr(aeq) constr(t) ] -> [ add_setoid a aeq t ] + [ "Add" "Setoid" constr(a) constr(aeq) constr(t) ] -> [ add_setoid a aeq t ] | [ "Add" "Morphism" constr(m) ":" ident(s) ] -> [ new_named_morphism s m ] END +VERNAC COMMAND EXTEND AddRelation1 + [ "Add" "Relation" constr(a) constr(aeq) "reflexivity" "proved" "by" constr(t) "symmetry" "proved" "by" constr(t')] -> + [ add_relation a aeq (Some t) (Some t') ] +| [ "Add" "Relation" constr(a) constr(aeq) "reflexivity" "proved" "by" constr(t) ] -> + [ add_relation a aeq (Some t) None ] +| [ "Add" "Relation" constr(a) constr(aeq) ] -> + [ add_relation a aeq None None ] +END + +VERNAC COMMAND EXTEND AddRelation2 + [ "Add" "Relation" constr(a) constr(aeq) "symmetry" "proved" "by" constr(t')] -> + [ add_relation a aeq None (Some t') ] +END + (* Inversion lemmas (Leminv) *) open Inv |