Skip to content

Instantly share code, notes, and snippets.

@jonsterling
Created October 7, 2016 01:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jonsterling/c7e116221ed4c3dbace54c21dce3c108 to your computer and use it in GitHub Desktop.
Save jonsterling/c7e116221ed4c3dbace54c21dce3c108 to your computer and use it in GitHub Desktop.
Theorem foo : ⸤⊢ (n:nat) =(zero; succ(n); nat) -> =(zero; succ(n); nat)⸥ {
fun-intro(n.fun-intro(x.x; eq⁼(nat-eq; zero-eq; succ-eq(hyp-eq(n)))); nat-eq)
} ext {
lam(_.lam(x.x))
}.
Operator is-zero : (0).
⸤is-zero(n)⸥ ≝ ⸤natrec(n; unit; _._.void)⸥.
Theorem succ-not-zero : ⸤⊢ (n:nat) =(succ(n); zero; nat) -> void⸥ {
fun-intro(n.fun-intro(x.assert(subst(x; ~<=-refl; h.natrec-eq(hyp-eq(h); ~<=-eq(base-member-eq(~-~<=(~<=-refl; ~<=-refl)); base-member-eq(~-~<=(~<=-refl; ~<=-refl))); _._.~<=-eq(base-member-eq(~-~<=(~<=-refl; ~<=-refl)); base-member-eq(~-~<=(~<=-refl; ~<=-refl))))); H.assert(H; h.assert(~-subst(~-~<=(assume-has-value(v.bottom-div(v); ~<=-eq(base-member-eq(~-~<=(~<=-refl; ~<=-refl)); base-member-eq(~-~<=(~<=-refl; ~<=-refl)))); h); ~<=-refl); q.bottom-div(q)))); eq⁼(nat-eq; succ-eq(hyp-eq(n)); zero-eq)); nat-eq)
} ext {
lam(_.lam(_.<>))
}.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment