import logic

inductive Three :=
zero : Three,
one  : Three,
two  : Three

namespace Three

  theorem disj (a : Three) : a = zero ∨ a = one ∨ a = two :=
  rec (or.inl rfl) (or.inr (or.inl rfl)) (or.inr (or.inr rfl)) a

  example (a : Three) : a ≠ zero → a ≠ one → a = two :=
  rec (λ h₁ h₂, absurd rfl h₁) (λ h₁ h₂, absurd rfl h₂) (λ h₁ h₂, rfl) a

end Three