46 lines
1.2 KiB
Text
46 lines
1.2 KiB
Text
|
import tactic
|
|||
|
(*
|
|||
|
simple_tac = Cond(function(env, ios, s)
|
|||
|
local gs = s:goals()
|
|||
|
local n, g = gs:head()
|
|||
|
local r = g:conclusion():is_and()
|
|||
|
print ("Cond result: " .. tostring(r))
|
|||
|
return r
|
|||
|
end,
|
|||
|
Then(apply_tac("and_intro"), assumption_tac()),
|
|||
|
Then(apply_tac("or_introl"), assumption_tac()))
|
|||
|
|
|||
|
simple2_tac = When(function(env, ios, s)
|
|||
|
local gs = s:goals()
|
|||
|
local n, g = gs:head()
|
|||
|
local r = g:conclusion():is_and()
|
|||
|
print ("When result: " .. tostring(r))
|
|||
|
return r
|
|||
|
end,
|
|||
|
apply_tac("and_intro"))
|
|||
|
*)
|
|||
|
theorem T1 (a b c : Bool) : a -> b -> c -> a ∧ b.
|
|||
|
(* simple_tac *)
|
|||
|
done
|
|||
|
|
|||
|
theorem T2 (a b : Bool) : a -> a ∨ b.
|
|||
|
(* simple_tac *)
|
|||
|
done
|
|||
|
|
|||
|
definition x := 10
|
|||
|
theorem T3 : x + 20 +2 >= 2*x.
|
|||
|
(* eval_tac() *)
|
|||
|
(* trivial_tac() *)
|
|||
|
done
|
|||
|
|
|||
|
theorem T4 (a b c : Bool) : a -> b -> c -> a ∧ b.
|
|||
|
(* simple2_tac *)
|
|||
|
exact
|
|||
|
done
|
|||
|
|
|||
|
theorem T5 (a b c : Bool) : a -> b -> c -> a ∨ b.
|
|||
|
(* simple2_tac *)
|
|||
|
apply or_introl
|
|||
|
exact
|
|||
|
done
|