Nuprl Lemma : vdf-wf+

[A,B:Type]. ∀[C:A ⟶ B ⟶ Type].
  ∀n:ℕ
    ((vdf(A;B;a,b.C[a;b];n) ∈ Type)
    ∧ (∀f:vdf(A;B;a,b.C[a;b];n). ∀L:(a:A × b:B × C[a;b]) List.
         ((||L|| ≤ (n 1))
          ((vdf-eq(A;f;L) ∈ ℙ)
            ∧ (vdf-eq(A;f;L) ⊆(∀[i:ℕ||L||]. ((fst(L[i])) (f firstn(i;L) (fst(snd(L[i])))) ∈ A)))))))


Proof




Definitions occuring in Statement :  vdf: vdf(A;B;a,b.C[a; b];n) vdf-eq: vdf-eq(A;f;L) firstn: firstn(n;as) select: L[n] length: ||as|| list: List int_seg: {i..j-} nat: subtype_rel: A ⊆B uall: [x:A]. B[x] prop: so_apply: x[s1;s2] pi1: fst(t) pi2: snd(t) le: A ≤ B all: x:A. B[x] implies:  Q and: P ∧ Q member: t ∈ T apply: a function: x:A ⟶ B[x] product: x:A × B[x] add: m natural_number: $n universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T all: x:A. B[x] nat: implies:  Q false: False ge: i ≥  uimplies: supposing a not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] and: P ∧ Q prop: subtype_rel: A ⊆B vdf: vdf(A;B;a,b.C[a; b];n) lt_int: i <j subtract: m ifthenelse: if then else fi  btrue: tt cand: c∧ B so_apply: x[s1;s2] so_lambda: λ2x.t[x] so_apply: x[s] or: P ∨ Q vdf-eq: vdf-eq(A;f;L) select: L[n] nil: [] it: so_lambda: λ2y.t[x; y] dep-all: dep-all(n;i.P[i]) cons: [a b] spreadn: spread3 firstn: firstn(n;as) so_lambda: so_lambda3 so_apply: x[s1;s2;s3] bfalse: ff le: A ≤ B decidable: Dec(P) true: True int_seg: {i..j-} lelt: i ≤ j < k sq_type: SQType(T) guard: {T} pi1: fst(t) pi2: snd(t) bool: 𝔹 unit: Unit uiff: uiff(P;Q) bnot: ¬bb assert: b rev_implies:  Q iff: ⇐⇒ Q less_than: a < b squash: T less_than': less_than'(a;b) int_iseg: {i...j}
Lemmas referenced :  nat_properties full-omega-unsat intformand_wf intformle_wf itermConstant_wf itermVar_wf intformless_wf istype-int int_formula_prop_and_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_less_lemma int_formula_prop_wf ge_wf istype-less_than subtract-1-ge-0 istype-nat istype-universe list_wf equal-wf-base length_wf_nat set_subtype_base le_wf int_subtype_base istype-le length_wf list-cases length_of_nil_lemma stuck-spread istype-base true_wf product_subtype_list length_of_cons_lemma list_ind_cons_lemma dep-isect-wf equal_wf nil_wf istype-true le_weakening2 non_neg_length decidable__lt itermAdd_wf int_term_value_add_lemma int_seg_properties int_seg_wf first0 cons_wf subtype_rel_list top_wf decidable__equal_int subtype_base_sq int_seg_subtype_special int_seg_cases lt_int_wf eqtt_to_assert assert_of_lt_int eqff_to_assert bool_cases_sqequal bool_wf bool_subtype_base assert-bnot iff_weakening_uiff assert_wf less_than_wf subtract-add-cancel decidable__le intformnot_wf int_formula_prop_not_lemma subtract_wf itermSubtract_wf int_term_value_subtract_lemma istype-top select-firstn firstn-firstn firstn_wf squash_wf length_firstn_eq subtype_rel_self iff_weakening_equal length_firstn select_wf lelt_wf intformeq_wf int_formula_prop_eq_lemma
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt introduction cut lambdaFormation_alt extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality hypothesis setElimination rename sqequalRule intWeakElimination natural_numberEquality independent_isectElimination approximateComputation independent_functionElimination dependent_pairFormation_alt lambdaEquality_alt int_eqEquality dependent_functionElimination Error :memTop,  independent_pairFormation universeIsType voidElimination productElimination independent_pairEquality axiomEquality equalityTransitivity equalitySymmetry functionIsTypeImplies inhabitedIsType functionIsType because_Cache isect_memberEquality_alt isectIsTypeImplies instantiate universeEquality functionEquality setEquality productEquality applyEquality intEquality baseClosed unionElimination promote_hyp hypothesis_subsumption dependent_set_memberEquality_alt equalityIstype sqequalBase productIsType dependentIntersectionElimination cumulativity depIsectIsType addEquality equalityElimination axiomSqEquality imageElimination lessCases imageMemberEquality closedConclusion

Latex:
\mforall{}[A,B:Type].  \mforall{}[C:A  {}\mrightarrow{}  B  {}\mrightarrow{}  Type].
    \mforall{}n:\mBbbN{}
        ((vdf(A;B;a,b.C[a;b];n)  \mmember{}  Type)
        \mwedge{}  (\mforall{}f:vdf(A;B;a,b.C[a;b];n).  \mforall{}L:(a:A  \mtimes{}  b:B  \mtimes{}  C[a;b])  List.
                  ((||L||  \mleq{}  (n  +  1))
                  {}\mRightarrow{}  ((vdf-eq(A;f;L)  \mmember{}  \mBbbP{})
                        \mwedge{}  (vdf-eq(A;f;L)  \msubseteq{}r  (\mforall{}[i:\mBbbN{}||L||].  ((fst(L[i]))  =  (f  firstn(i;L)  (fst(snd(L[i])))))))))))



Date html generated: 2020_05_19-PM-09_40_11
Last ObjectModification: 2020_03_05-PM-04_39_08

Theory : co-recursion-2


Home Index