Nuprl Lemma : vdf-eq-firstn-general

A:Type. ∀f:Top. ∀L:(a:Top × b:Top × Top) List. ∀i:ℕ||L|| 1.
  (vdf-eq(A;f;firstn(i;L)) if (i =z 0)
  then True
  else x:vdf-eq(A;f;firstn(i 1;L)) ⋂ let tr L[i 1] in
                                           (fst(tr)) (f firstn(i 1;L) (fst(snd(tr)))) ∈ A
  fi )


Proof




Definitions occuring in Statement :  vdf-eq: vdf-eq(A;f;L) firstn: firstn(n;as) select: L[n] length: ||as|| list: List dep-isect: x:A ⋂ B[x] int_seg: {i..j-} ifthenelse: if then else fi  eq_int: (i =z j) let: let top: Top pi1: fst(t) pi2: snd(t) all: x:A. B[x] true: True apply: a product: x:A × B[x] subtract: m add: m natural_number: $n universe: Type sqequal: t equal: t ∈ T
Definitions unfolded in proof :  all: x:A. B[x] member: t ∈ T uall: [x:A]. B[x] int_seg: {i..j-} lelt: i ≤ j < k and: P ∧ Q le: A ≤ B implies:  Q bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) uimplies: supposing a ifthenelse: if then else fi  sq_type: SQType(T) guard: {T} subtype_rel: A ⊆B vdf-eq: vdf-eq(A;f;L) select: L[n] nil: [] so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] dep-all: dep-all(n;i.P[i]) bfalse: ff exists: x:A. B[x] or: P ∨ Q bnot: ¬bb assert: b false: False nequal: a ≠ b ∈  less_than: a < b squash: T decidable: Dec(P) not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) prop:
Lemmas referenced :  eq_int_wf eqtt_to_assert assert_of_eq_int subtype_base_sq int_subtype_base first0 subtype_rel_list top_wf length_of_nil_lemma stuck-spread istype-base eqff_to_assert bool_cases_sqequal bool_subtype_base assert-bnot neg_assert_of_eq_int vdf-eq-firstn subtract_wf int_seg_properties decidable__le full-omega-unsat intformand_wf intformnot_wf intformle_wf itermConstant_wf itermSubtract_wf itermVar_wf intformeq_wf istype-int int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_subtract_lemma int_term_value_var_lemma int_formula_prop_eq_lemma int_formula_prop_wf decidable__lt length_wf add-is-int-iff intformless_wf itermAdd_wf int_formula_prop_less_lemma int_term_value_add_lemma false_wf istype-le istype-less_than subtract-add-cancel int_seg_wf list_wf istype-top istype-universe
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity lambdaFormation_alt cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin setElimination rename hypothesisEquality hypothesis productElimination inhabitedIsType unionElimination equalityElimination equalityTransitivity equalitySymmetry independent_isectElimination because_Cache sqequalRule instantiate cumulativity intEquality dependent_functionElimination independent_functionElimination applyEquality productEquality lambdaEquality_alt Error :memTop,  productIsType baseClosed dependent_pairFormation_alt equalityIstype promote_hyp voidElimination dependent_set_memberEquality_alt natural_numberEquality imageElimination independent_pairFormation approximateComputation int_eqEquality universeIsType pointwiseFunctionality baseApply closedConclusion addEquality universeEquality

Latex:
\mforall{}A:Type.  \mforall{}f:Top.  \mforall{}L:(a:Top  \mtimes{}  b:Top  \mtimes{}  Top)  List.  \mforall{}i:\mBbbN{}||L||  +  1.
    (vdf-eq(A;f;firstn(i;L))  \msim{}  if  (i  =\msubz{}  0)
    then  True
    else  x:vdf-eq(A;f;firstn(i  -  1;L))  \mcap{}  let  tr  =  L[i  -  1]  in
                                                                                      (fst(tr))  =  (f  firstn(i  -  1;L)  (fst(snd(tr))))
    fi  )



Date html generated: 2020_05_19-PM-09_40_39
Last ObjectModification: 2020_03_09-PM-01_11_37

Theory : co-recursion-2


Home Index