lean2/tests/lean/640.hlean

27 lines
635 B
Text
Raw Normal View History

import hit.quotient
2015-05-29 22:49:10 +00:00
open quotient eq sum
2015-05-29 22:49:10 +00:00
constants {A : Type} (R : A → A → Type)
local abbreviation C := quotient R
2015-05-29 22:49:10 +00:00
definition f [unfold 2] (a : A) (x : unit) : C :=
2015-05-29 22:49:10 +00:00
!class_of a
inductive S : C → C → Type :=
| Rmk {} : Π(a : A) (x : unit), S (f a x) (!class_of a)
set_option pp.notation false
set_option pp.beta false
definition rec {P : quotient S → Type} (x : quotient S) : P x :=
2015-05-29 22:49:10 +00:00
begin
induction x with c c c' H,
{ induction c with b b b' H,
{ apply sorry},
{ apply sorry}},
{ cases H, esimp, induction x,
{ state, esimp, state, esimp, state, apply sorry}},
end