intros.elim H.reflexivity.
qed.
+default "equality"
+ cic:/matita/equality/eq.ind
+ cic:/matita/equality/sym_eq.con
+ cic:/matita/equality/trans_eq.con
+ cic:/matita/equality/eq_ind.con
+ cic:/matita/equality/eq_ind_r.con.
+
theorem f_equal2: \forall A,B,C:Type.\forall f:A\to B \to C.
\forall x1,x2:A. \forall y1,y2:B.
eq A x1 x2\to eq B y1 y2\to eq C (f x1 y1) (f x2 y2).
inductive True: Prop \def
I : True.
+default "true" cic:/matita/logic/True.ind.
+
inductive False: Prop \def .
+default "false" cic:/matita/logic/False.ind.
+
definition Not: Prop \to Prop \def
\lambda A. (A \to False).
intros. elim (H1 H).
qed.
+default "absurd" cic:/matita/logic/absurd.ind.
+
inductive And (A,B:Prop) : Prop \def
conj : A \to B \to (And A B).
let eval_command status cmd =
match cmd with
+ | TacticAst.Default (loc, what, uris) as cmd ->
+ LibraryObjects.set_default what uris;
+ {status with moo_content_rev =
+ (TacticAstPp.pp_command cmd ^ "\n") :: status.moo_content_rev}
| TacticAst.Include (loc, path) ->
let path = MatitaMisc.obj_file_of_script path in
let stream = Stream.of_channel (open_in path) in
status, tacticals
let disambiguate_command status = function
- | TacticAst.Include (loc,path) as cmd -> status,cmd
+ | TacticAst.Default _
+ | TacticAst.Alias _
+ | TacticAst.Include _ as cmd -> status,cmd
| TacticAst.Coercion (loc, term) ->
let status, term = disambiguate_term status term in
status, TacticAst.Coercion (loc,term)
| (TacticAst.Set _ | TacticAst.Qed _ | TacticAst.Drop _ ) as cmd ->
status, cmd
- | TacticAst.Alias _ as x -> status, x
| TacticAst.Obj (loc,obj) ->
let status,obj = disambiguate_obj status obj in
status, TacticAst.Obj (loc,obj)