ff01774fd7
This renaming is because type_quotient is a nonstandard name. I've had a discussion with Egbert Rijke, Steve Awodey and Dan Licata, and the consensus for a better name was 'quotient'. I had to make changes in src/kernel/hits/hits.cpp, I renamed g_type_quotient* by g_hit_quotient* (to avoid name clash the standard library quotient, although I don't know whether that name clash would matter).
26 lines
637 B
Text
26 lines
637 B
Text
import hit.quotient
|
|
|
|
open quotient eq sum
|
|
|
|
constants {A : Type} (R : A → A → Type)
|
|
|
|
local abbreviation C := quotient R
|
|
|
|
definition f [unfold-c 2] (a : A) (x : unit) : C :=
|
|
!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 :=
|
|
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
|