sTactic.v
(****************************************************************************
IEEE754 : sTactic
Laurent Thery
*****************************************************************************
My favorite tactics *)
Theorem
Contradict1: (a, b:Prop) b -> (a ->~ b) ->~ a.
Intuition.
Qed.
Theorem
Contradict2: (a, b:Prop) b -> ~ b ->a.
Intuition.
Qed.
Theorem
Contradict3: (a:Prop) a ->~ (~ a).
Auto.
Qed.
Tactic Definition
Contradict [$a] :=
[<:tactic:<
(Apply [a:Prop](Contradict1 a ? $a); Clear $a; Intros $a)
Orelse (Apply [a:Prop](Contradict2 a ? $a); Clear $a); Try Apply Contradict3
>>].
Tactic Definition
CaseEq [$a] :=
[<:tactic:< Generalize (refl_equal ? $a); Pattern -1 $a; Case $a >>].
Tactic Definition
Casec [$a] :=
[<:tactic:< Case $a; Clear $a >>].
Tactic Definition
Elimc [$a] :=
[<:tactic:< Elim $a; Clear $a >>].
22/10/100, 19:37