Nuprl Lemma : quotient-dep-function-subtype
∀[X:Type]
  ∀[A:X ⟶ Type]. ∀[E:x:X ⟶ A[x] ⟶ A[x] ⟶ ℙ].
    ((∀x:X. EquivRel(A[x];a,b.E[x;a;b]))
    
⇒ ((x:X ⟶ (a,b:A[x]//E[x;a;b])) ⊆r (f,g:x:X ⟶ A[x]//(∀x:X. (↓E[x;f x;g x]))))) 
  supposing X ⊆r Base
Proof
Definitions occuring in Statement : 
equiv_rel: EquivRel(T;x,y.E[x; y])
, 
quotient: x,y:A//B[x; y]
, 
uimplies: b supposing a
, 
subtype_rel: A ⊆r B
, 
uall: ∀[x:A]. B[x]
, 
prop: ℙ
, 
so_apply: x[s1;s2;s3]
, 
so_apply: x[s]
, 
all: ∀x:A. B[x]
, 
squash: ↓T
, 
implies: P 
⇒ Q
, 
apply: f a
, 
function: x:A ⟶ B[x]
, 
base: Base
, 
universe: Type
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x]
, 
member: t ∈ T
, 
uimplies: b supposing a
, 
implies: P 
⇒ Q
, 
all: ∀x:A. B[x]
, 
so_apply: x[s]
, 
so_lambda: λ2x y.t[x; y]
, 
so_apply: x[s1;s2;s3]
, 
so_apply: x[s1;s2]
, 
prop: ℙ
, 
subtype_rel: A ⊆r B
, 
equiv_rel: EquivRel(T;x,y.E[x; y])
, 
and: P ∧ Q
, 
refl: Refl(T;x,y.E[x; y])
, 
squash: ↓T
, 
cand: A c∧ B
, 
sym: Sym(T;x,y.E[x; y])
, 
trans: Trans(T;x,y.E[x; y])
, 
guard: {T}
, 
bfalse: ff
, 
ext-eq: A ≡ B
, 
ifthenelse: if b then t else f fi 
, 
btrue: tt
, 
it: ⋅
, 
unit: Unit
, 
bool: 𝔹
, 
isect2: T1 ⋂ T2
, 
so_lambda: λ2x.t[x]
, 
true: True
, 
quotient: x,y:A//B[x; y]
Lemmas referenced : 
quotient-squash, 
equiv_rel_squash, 
equiv_rel_wf, 
subtype_rel_wf, 
base_wf, 
istype-universe, 
squash_wf, 
quotient_wf, 
subtype_rel_weakening, 
isect2_wf, 
subtype_rel_transitivity, 
isect2_subtype_rel, 
quotient-isect-base, 
void_wf, 
all_wf, 
quotient-member-eq, 
member_wf, 
true_wf, 
subtype_rel_self
Rules used in proof : 
sqequalSubstitution, 
sqequalTransitivity, 
computationStep, 
sqequalReflexivity, 
Error :isect_memberFormation_alt, 
introduction, 
cut, 
Error :lambdaFormation_alt, 
extract_by_obid, 
sqequalHypSubstitution, 
isectElimination, 
thin, 
applyEquality, 
hypothesisEquality, 
sqequalRule, 
Error :lambdaEquality_alt, 
Error :inhabitedIsType, 
Error :universeIsType, 
because_Cache, 
independent_isectElimination, 
hypothesis, 
dependent_functionElimination, 
independent_functionElimination, 
Error :functionIsType, 
axiomEquality, 
Error :functionIsTypeImplies, 
universeEquality, 
Error :isect_memberEquality_alt, 
Error :isectIsTypeImplies, 
instantiate, 
independent_pairFormation, 
imageMemberEquality, 
baseClosed, 
imageElimination, 
productElimination, 
Error :equalityIstype, 
equalityTransitivity, 
equalitySymmetry, 
pointwiseFunctionality, 
closedConclusion, 
baseApply, 
Error :equalityIsType1, 
equalityElimination, 
unionElimination, 
isect_memberEquality, 
Error :functionExtensionality_alt, 
voidElimination, 
functionExtensionality, 
functionEquality, 
natural_numberEquality, 
applyLambdaEquality, 
pertypeElimination, 
promote_hyp, 
Error :productIsType, 
sqequalBase
Latex:
\mforall{}[X:Type]
    \mforall{}[A:X  {}\mrightarrow{}  Type].  \mforall{}[E:x:X  {}\mrightarrow{}  A[x]  {}\mrightarrow{}  A[x]  {}\mrightarrow{}  \mBbbP{}].
        ((\mforall{}x:X.  EquivRel(A[x];a,b.E[x;a;b]))
        {}\mRightarrow{}  ((x:X  {}\mrightarrow{}  (a,b:A[x]//E[x;a;b]))  \msubseteq{}r  (f,g:x:X  {}\mrightarrow{}  A[x]//(\mforall{}x:X.  (\mdownarrow{}E[x;f  x;g  x]))))) 
    supposing  X  \msubseteq{}r  Base
Date html generated:
2019_06_20-PM-00_32_33
Last ObjectModification:
2018_11_26-AM-00_13_30
Theory : quot_1
Home
Index