ProofEngineTypes.apply_tactic
(Tacticals.first
~tactics:[
- "reflexivity", EqualityTactics.reflexivity_tac ;
- "exact t1'_eq_t1''", exact_tac ~term:t1'_eq_t1'' ;
- "exact t2'_eq_t2''", exact_tac ~term:t2'_eq_t2'' ;
- "exact sym_eqt su t1 ...", exact_tac
+ EqualityTactics.reflexivity_tac ;
+ exact_tac ~term:t1'_eq_t1'' ;
+ exact_tac ~term:t2'_eq_t2'' ;
+ exact_tac
~term:(
Cic.Appl
[mkConst HelmLibraryObjects.Logic.sym_eq_URI
] ;
t1'_eq_t1''
]) ;
- "elim_type eqt su t1 ...", ProofEngineTypes.mk_tactic (fun status ->
+ ProofEngineTypes.mk_tactic (fun status ->
let status' = (* status after 1st elim_type use *)
let context = context_of_status status in
let b,_ = (*TASSI : FIXME*)
ProofEngineTypes.apply_tactic
(Tacticals.first (* try to solve 1st subgoal *)
~tactics:[
- "exact t2'_eq_t2''", exact_tac ~term:t2'_eq_t2'';
- "exact sym_eqt su t2 ...",
- exact_tac
+ exact_tac ~term:t2'_eq_t2'';
+ exact_tac
~term:(
Cic.Appl
[mkConst HelmLibraryObjects.Logic.sym_eq_URI
] ;
t2'_eq_t2''
]) ;
- "elim_type eqt su t2 ...",
ProofEngineTypes.mk_tactic (fun status ->
let status' =
let context = context_of_status status in