lean4-htt/tests/lean/by_contradiction.lean
2017-03-09 18:41:19 -08:00

36 lines
612 B
Text

open tactic nat
example (a b : nat) : a ≠ b → ¬ a = b :=
by do
intros,
by_contradiction `H,
trace_state,
contradiction
#print "-------"
example (a b : nat) : ¬¬ a = b → a = b :=
by do
intros,
by_contradiction `H,
trace_state,
contradiction
#print "-------"
example (p q : Prop) : ¬¬ p → p :=
by do
intros,
by_contradiction `H, -- should fail
trace_state
#print "-------"
local attribute [instance] classical.prop_decidable -- Now all propositions are decidable
example (p q : Prop) : ¬¬p → p :=
by do
intros,
by_contradiction `H,
trace_state,
contradiction