]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/tactics/declarative.mli
1. "by proof" now allowed as a justification in equality chains.
[helm.git] / helm / software / components / tactics / declarative.mli
index 3b02fb4d9c061c53a343998d433be16bab938aec..8fd91b0e853f9c4a83c35d9604de5518aea571d9 100644 (file)
@@ -28,14 +28,17 @@ val assume : string -> Cic.term -> ProofEngineTypes.tactic
 val suppose : Cic.term -> string -> Cic.term option -> ProofEngineTypes.tactic
 
 val by_term_we_proved :
- dbd:HMysql.dbd -> Cic.term option -> Cic.term -> string option -> Cic.term option ->
-  ProofEngineTypes.tactic
+ dbd:HSql.dbd -> universe:Universe.universe -> Cic.term option -> Cic.term ->
+  string option -> Cic.term option -> ProofEngineTypes.tactic
 
-val bydone : dbd:HMysql.dbd -> Cic.term option -> ProofEngineTypes.tactic
+val bydone : dbd:HSql.dbd -> universe:Universe.universe -> Cic.term option ->
+  ProofEngineTypes.tactic
 
 val we_need_to_prove :
  Cic.term -> string option -> Cic.term option -> ProofEngineTypes.tactic
 
+val we_proceed_by_cases_on : Cic.term -> Cic.term -> ProofEngineTypes.tactic
+
 val we_proceed_by_induction_on : Cic.term -> Cic.term -> ProofEngineTypes.tactic
 
 val byinduction : Cic.term -> string -> ProofEngineTypes.tactic
@@ -45,11 +48,14 @@ val thesisbecomes : Cic.term -> ProofEngineTypes.tactic
 val case : string -> params:(string * Cic.term) list -> ProofEngineTypes.tactic
 
 val existselim :
- Cic.term -> string -> Cic.term -> string -> Cic.term -> ProofEngineTypes.tactic
+  dbd:HSql.dbd -> universe:Universe.universe ->
+ Cic.term option -> string -> Cic.term -> string -> Cic.lazy_term -> ProofEngineTypes.tactic
 
 val andelim :
  Cic.term -> string -> Cic.term -> string -> Cic.term -> ProofEngineTypes.tactic
 
 val rewritingstep :
- dbd:HMysql.dbd -> Cic.term option -> Cic.term -> Cic.term option ->
-  Cic.name option -> ProofEngineTypes.tactic
+ dbd:HSql.dbd -> universe:Universe.universe ->
+  (string option * Cic.term) option -> Cic.term ->
+   [ `Term of Cic.term | `Auto of (string * string) list | `Proof ] ->
+    bool (* last step *) -> ProofEngineTypes.tactic