Nuprl Lemma : product-discrete

A:Type. ∀B:A ⟶ Type.  (discrete-type(A)  (∀a:A. discrete-type(B[a]))  discrete-type(a:A × B[a]))


Proof




Definitions occuring in Statement :  discrete-type: discrete-type(T) so_apply: x[s] all: x:A. B[x] implies:  Q function: x:A ⟶ B[x] product: x:A × B[x] universe: Type
Definitions unfolded in proof :  all: x:A. B[x] implies:  Q discrete-type: discrete-type(T) member: t ∈ T so_apply: x[s] uall: [x:A]. B[x] top: Top prop: squash: T subtype_rel: A ⊆B true: True so_lambda: λ2x.t[x] guard: {T} uimplies: supposing a iff: ⇐⇒ Q and: P ∧ Q rev_implies:  Q pi2: snd(t) pi1: fst(t)
Lemmas referenced :  real_wf pi1_wf_top equal_wf req_wf all_wf discrete-type_wf squash_wf true_wf pair_eta_rw iff_weakening_equal subtype_rel-equal and_wf subtype_rel_product top_wf pi2_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity lambdaFormation cut sqequalHypSubstitution dependent_functionElimination thin lambdaEquality applyEquality functionExtensionality hypothesisEquality introduction extract_by_obid hypothesis productEquality cumulativity isectElimination productElimination independent_pairEquality isect_memberEquality voidElimination voidEquality equalityTransitivity equalitySymmetry sqequalRule independent_functionElimination imageElimination because_Cache natural_numberEquality imageMemberEquality baseClosed functionEquality universeEquality dependent_pairEquality independent_isectElimination hyp_replacement dependent_set_memberEquality independent_pairFormation applyLambdaEquality setElimination rename

Latex:
\mforall{}A:Type.  \mforall{}B:A  {}\mrightarrow{}  Type.
    (discrete-type(A)  {}\mRightarrow{}  (\mforall{}a:A.  discrete-type(B[a]))  {}\mRightarrow{}  discrete-type(a:A  \mtimes{}  B[a]))



Date html generated: 2018_05_22-PM-02_14_09
Last ObjectModification: 2017_10_29-PM-08_05_01

Theory : reals


Home Index