Nuprl Lemma : W_subtype

[A1,A2:Type]. ∀[B1:A1 ⟶ Type]. ∀[B2:A2 ⟶ Type].
  (W(A1;a.B1[a]) ⊆W(A2;a.B2[a])) supposing ((∀a:A1. (B2[a] ⊆B1[a])) and (A1 ⊆A2))


Proof




Definitions occuring in Statement :  W: W(A;a.B[a]) uimplies: supposing a subtype_rel: A ⊆B uall: [x:A]. B[x] so_apply: x[s] all: x:A. B[x] function: x:A ⟶ B[x] universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a subtype_rel: A ⊆B so_lambda: λ2x.t[x] so_apply: x[s] prop: all: x:A. B[x] and: P ∧ Q nat: implies:  Q pcw-pp-barred: Barred(pp) int_seg: {i..j-} lelt: i ≤ j < k decidable: Dec(P) or: P ∨ Q iff: ⇐⇒ Q not: ¬A rev_implies:  Q false: False uiff: uiff(P;Q) subtract: m top: Top le: A ≤ B less_than': less_than'(a;b) true: True cw-step: cw-step(A;a.B[a]) pcw-step: pcw-step(P;p.A[p];p,a.B[p; a];p,a,b.C[p; a; b]) spreadn: spread3 less_than: a < b squash: T isr: isr(x) assert: b ifthenelse: if then else fi  bfalse: ff btrue: tt ext-eq: A ≡ B unit: Unit it: so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3] ext-family: F ≡ G pi1: fst(t) nat_plus: + guard: {T} W-rel: W-rel(A;a.B[a];w) param-W-rel: param-W-rel(P;p.A[p];p,a.B[p; a];p,a,b.C[p; a; b];par;w) pcw-steprel: StepRel(s1;s2) pi2: snd(t) isl: isl(x) pcw-step-agree: StepAgree(s;p1;w) cand: c∧ B Wsup: Wsup(a;b) sq_type: SQType(T) sq_stable: SqStable(P)
Lemmas referenced :  W_wf all_wf subtype_rel_wf W-elimination-facts int_seg_wf subtract_wf decidable__le false_wf not-le-2 less-iff-le condition-implies-le minus-one-mul zero-add minus-one-mul-top nat_wf minus-add minus-minus add-associates add-swap add-commutes add_functionality_wrt_le add-zero le-add-cancel decidable__lt not-lt-2 add-mul-special zero-mul le-add-cancel-alt lelt_wf top_wf less_than_wf true_wf equal_wf add-subtract-cancel W-ext param-co-W-ext unit_wf2 it_wf param-co-W_wf ext-eq_inversion subtype_rel_weakening assert_wf btrue_wf bfalse_wf pcw-steprel_wf subtype_rel_dep_function subtype_base_sq set_subtype_base le_wf int_subtype_base decidable__int_equal not-equal-2 minus-zero le-add-cancel2 int_seg_subtype sq_stable__le Wsup_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut lambdaEquality extract_by_obid sqequalHypSubstitution isectElimination thin cumulativity hypothesisEquality sqequalRule applyEquality functionExtensionality hypothesis axiomEquality isect_memberEquality because_Cache equalityTransitivity equalitySymmetry functionEquality universeEquality dependent_functionElimination productElimination strong_bar_Induction natural_numberEquality setElimination rename independent_functionElimination dependent_set_memberEquality independent_pairFormation unionElimination lambdaFormation voidElimination independent_isectElimination addEquality voidEquality minusEquality intEquality lessCases sqequalAxiom imageMemberEquality baseClosed imageElimination int_eqReduceTrueSq promote_hyp hypothesis_subsumption equalityElimination dependent_pairEquality productEquality inlEquality unionEquality hyp_replacement applyLambdaEquality instantiate

Latex:
\mforall{}[A1,A2:Type].  \mforall{}[B1:A1  {}\mrightarrow{}  Type].  \mforall{}[B2:A2  {}\mrightarrow{}  Type].
    (W(A1;a.B1[a])  \msubseteq{}r  W(A2;a.B2[a]))  supposing  ((\mforall{}a:A1.  (B2[a]  \msubseteq{}r  B1[a]))  and  (A1  \msubseteq{}r  A2))



Date html generated: 2017_04_14-AM-07_43_50
Last ObjectModification: 2017_02_27-PM-03_14_54

Theory : co-recursion


Home Index