X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2FmatitaEngine.ml;h=89d168af36acb80efefc91b890005e161d6f9de3;hb=ded3a0b12793fc8e463a4a3be9f62f54f734897e;hp=5b5a76a7d0e6344fe0c1cdad993c9ce78b5bd696;hpb=4c45bc2cd4c610de0ac09c7e0897260fc253b684;p=helm.git diff --git a/helm/matita/matitaEngine.ml b/helm/matita/matitaEngine.ml index 5b5a76a7d..89d168af3 100644 --- a/helm/matita/matitaEngine.ml +++ b/helm/matita/matitaEngine.ml @@ -29,7 +29,9 @@ let tactic_of_ast = function | TacticAst.Contradiction _ -> Tactics.contradiction | TacticAst.Compare (_, term) -> Tactics.compare term | TacticAst.Constructor (_, n) -> Tactics.constructor n - | TacticAst.Cut (_, term) -> Tactics.cut term + | TacticAst.Cut (_, ident, term) -> + let names = match ident with None -> [] | Some id -> [id] in + Tactics.cut ~mk_fresh_name_callback:(namer_of names) term | TacticAst.DecideEquality _ -> Tactics.decide_equality | TacticAst.Decompose (_,term) -> Tactics.decompose term | TacticAst.Discriminate (_,term) -> Tactics.discriminate term @@ -50,7 +52,9 @@ let tactic_of_ast = function | TacticAst.Fourier _ -> Tactics.fourier | TacticAst.FwdSimpl (_, term) -> Tactics.fwd_simpl ~what:term ~dbd:(MatitaDb.instance ()) - | TacticAst.Generalize (_,term,pat) -> Tactics.generalize term pat + | TacticAst.Generalize (_,term,ident,pat) -> + let names = match ident with None -> [] | Some id -> [id] in + Tactics.generalize ~term ~mk_fresh_name_callback:(namer_of names) pat | TacticAst.Goal (_, n) -> Tactics.set_goal n | TacticAst.Injection (_,term) -> Tactics.injection term | TacticAst.Intros (_, None, names) -> @@ -394,9 +398,9 @@ let disambiguate_tactic status = function status, TacticAst.Constructor (loc,n) | TacticAst.Contradiction loc -> status, TacticAst.Contradiction loc - | TacticAst.Cut (loc, term) -> + | TacticAst.Cut (loc, ident, term) -> let status, cic = disambiguate_term status term in - status, TacticAst.Cut (loc, cic) + status, TacticAst.Cut (loc, ident, cic) | TacticAst.DecideEquality loc -> status, TacticAst.DecideEquality loc | TacticAst.Decompose (loc,term) -> @@ -426,10 +430,10 @@ let disambiguate_tactic status = function let status, term = disambiguate_term status term in status, TacticAst.FwdSimpl (loc, term) | TacticAst.Fourier loc -> status, TacticAst.Fourier loc - | TacticAst.Generalize (loc,term,pattern) -> + | TacticAst.Generalize (loc,term,ident,pattern) -> let status,term = disambiguate_term status term in let pattern = disambiguate_pattern status.aliases pattern in - status, TacticAst.Generalize(loc,term,pattern) + status, TacticAst.Generalize(loc,term,ident,pattern) | TacticAst.Goal (loc, g) -> status, TacticAst.Goal (loc, g) | TacticAst.Injection (loc,term) -> let status, term = disambiguate_term status term in