diff options
| author | Hugo Herbelin | 2016-04-12 22:25:26 +0200 |
|---|---|---|
| committer | Hugo Herbelin | 2016-04-27 21:55:45 +0200 |
| commit | bde36d4b00185065628324d8ca71994f84eae244 (patch) | |
| tree | c4d7bba0352ee72fa31712e02882c7066a6e1ba1 /tactics | |
| parent | c4d1e3113f77af2e5474fe5676c272050dd445e5 (diff) | |
In the short term, stronger invariant on the syntax of TacAssert, what
allows for a simpler re-printing of assert.
Also fixing the precedence for printing "by" clause.
Diffstat (limited to 'tactics')
| -rw-r--r-- | tactics/tactics.ml | 7 | ||||
| -rw-r--r-- | tactics/tactics.mli | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/tactics/tactics.ml b/tactics/tactics.ml index a626092dd1..4c47dc67e3 100644 --- a/tactics/tactics.ml +++ b/tactics/tactics.ml @@ -2551,6 +2551,9 @@ let forward b usetac ipat c = (Proofview.V82.tactic (exact_no_check c)) end } | Some tac -> + let tac = match tac with + | None -> Tacticals.New.tclIDTAC + | Some tac -> Tacticals.New.tclCOMPLETE tac in if b then Tacticals.New.tclTHENFIRST (assert_as b None ipat c) tac else @@ -2558,8 +2561,8 @@ let forward b usetac ipat c = (assert_as b None ipat c) [||] tac [|Tacticals.New.tclIDTAC|] let pose_proof na c = forward true None (ipat_of_name na) c -let assert_by na t tac = forward true (Some tac) (ipat_of_name na) t -let enough_by na t tac = forward false (Some tac) (ipat_of_name na) t +let assert_by na t tac = forward true (Some (Some tac)) (ipat_of_name na) t +let enough_by na t tac = forward false (Some (Some tac)) (ipat_of_name na) t (***************************) (* Generalization tactics *) diff --git a/tactics/tactics.mli b/tactics/tactics.mli index 4c4a96ec07..0919fb28e2 100644 --- a/tactics/tactics.mli +++ b/tactics/tactics.mli @@ -365,7 +365,7 @@ val pose_proof : Name.t -> constr -> (** Common entry point for user-level "assert", "enough" and "pose proof" *) -val forward : bool -> unit Proofview.tactic option -> +val forward : bool -> unit Proofview.tactic option option -> intro_pattern option -> constr -> unit Proofview.tactic (** Implements the tactic cut, actually a modus ponens rule *) |
