Imp hott (#10)

removing sorrys
This commit is contained in:
jonas-frey 2018-01-25 18:08:17 -05:00 committed by Floris van Doorn
parent 7411011340
commit d68cdae2f3
2 changed files with 22 additions and 11 deletions

View file

@ -498,8 +498,7 @@ definition decidable_ne [instance] {A : Type} [H : decidable_eq A] (a b : A) : d
decidable_implies
namespace bool
theorem ff_ne_tt : ff = tt → empty :=
sorry
theorem ff_ne_tt : ff = tt → empty := @eq.rec bool ff (λ b p, bool.rec unit empty b) unit.star tt
end bool
open bool

View file

@ -69,15 +69,27 @@ namespace nat
protected definition is_inhabited [instance] : inhabited nat :=
inhabited.mk zero
protected definition has_decidable_eq [instance] [priority nat.prio] : Π x y : nat, decidable (x = y) := sorry
-- | has_decidable_eq zero zero := inl rfl
-- | has_decidable_eq (succ x) zero := inr (by contradiction)
-- | has_decidable_eq zero (succ y) := inr (by contradiction)
-- | has_decidable_eq (succ x) (succ y) :=
-- match has_decidable_eq x y with
-- | inl xeqy := inl (by rewrite xeqy)
-- | inr xney := inr (λ h : succ x = succ y, by injection h with xeqy; exact absurd xeqy xney)
-- end
section nat_code
parameter (n : )
definition nat_code (m : ) (p : succ n = m) : Type₀ := nat.rec empty (λ k l, n=k) m
definition nat_encode (m : ) (p : succ n = m) : nat_code m p := @eq.rec (succ n) nat_code (refl n) m p
definition succ_neq_zero (p : succ n = 0) : empty := nat_encode 0 p
definition succ_inj (m : ) (p : succ n = succ m) : n = m := nat_encode (succ m) p
end nat_code
protected definition has_decidable_eq [instance] [priority nat.prio] : Π x y : nat, decidable (x = y) :=
begin
intro x,
induction x with a s : intro y,
induction y,
exact decidable.inl rfl,
exact decidable.inr (λp, succ_neq_zero _ p⁻¹),
induction y with b t,
exact decidable.inr (λp, succ_neq_zero _ p),
induction s b with p q,
exact decidable.inl (ap succ p),
exact decidable.inr (λp, q (succ_inj _ _ p)),
end
/- properties of inequality -/