diff options
| author | Pierre-Marie Pédrot | 2017-08-01 21:52:15 +0200 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2017-08-01 23:53:58 +0200 |
| commit | dd1343eb2680c202cf059e3db5788904b7d79782 (patch) | |
| tree | 6f56f2bde5cdcc3a7de42ed5901bd2614b7f254f /src/tac2stdlib.ml | |
| parent | 33e2bfe7a5eb9867634be82262ad041460709bcb (diff) | |
More primitive tactics.
Diffstat (limited to 'src/tac2stdlib.ml')
| -rw-r--r-- | src/tac2stdlib.ml | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/tac2stdlib.ml b/src/tac2stdlib.ml index 44fad48955..8fdf9c6d8c 100644 --- a/src/tac2stdlib.ml +++ b/src/tac2stdlib.ml @@ -196,6 +196,22 @@ let () = define_prim1 "tac_egeneralize" begin fun cl -> Tactics.new_generalize_gen cl end +let () = define_prim3 "tac_assert" begin fun c tac ipat -> + let c = Value.to_constr c in + let of_tac t = Proofview.tclIGNORE (thaw t) in + let tac = Value.to_option (fun t -> Value.to_option of_tac t) tac in + let ipat = Value.to_option (fun ipat -> Loc.tag (to_intro_pattern ipat)) ipat in + Tactics.forward true tac ipat c +end + +let () = define_prim3 "tac_enough" begin fun c tac ipat -> + let c = Value.to_constr c in + let of_tac t = Proofview.tclIGNORE (thaw t) in + let tac = Value.to_option (fun t -> Value.to_option of_tac t) tac in + let ipat = Value.to_option (fun ipat -> Loc.tag (to_intro_pattern ipat)) ipat in + Tactics.forward false tac ipat c +end + let () = define_prim2 "tac_pose" begin fun idopt c -> let na = to_name idopt in let c = Value.to_constr c in |
