Nuprl Lemma : listfun_mklist

A,B:Type. ∀G:(A List) ⟶ (B List).
  ((∀L:A List. (||L|| ||G L|| ∈ ℕ))
   (∀L1,L2:A List. ∀i:ℕ.
        ((i ≤ ||L1||)  (i ≤ ||L2||)  (∀j:ℕi. (L1[j] L2[j] ∈ A))  (∀j:ℕi. (G L1[j] L2[j] ∈ B))))
   (∀f:ℕ ⟶ A. ∀x:ℕ.  ((G mklist(x;f)) mklist(x;λn.G mklist(n 1;f)[n]) ∈ (B List))))


Proof




Definitions occuring in Statement :  mklist: mklist(n;f) select: L[n] length: ||as|| list: List int_seg: {i..j-} nat: le: A ≤ B all: x:A. B[x] implies:  Q apply: a lambda: λx.A[x] function: x:A ⟶ B[x] add: m natural_number: $n universe: Type equal: t ∈ T
Definitions unfolded in proof :  all: x:A. B[x] implies:  Q member: t ∈ T uall: [x:A]. B[x] subtype_rel: A ⊆B uimplies: supposing a nat: so_lambda: λ2x.t[x] so_apply: x[s] sq_type: SQType(T) guard: {T} top: Top ge: i ≥  decidable: Dec(P) or: P ∨ Q satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False not: ¬A and: P ∧ Q prop: int_seg: {i..j-} lelt: i ≤ j < k le: A ≤ B squash: T true: True iff: ⇐⇒ Q rev_implies:  Q less_than': less_than'(a;b) less_than: a < b
Lemmas referenced :  mklist_wf subtype_base_sq nat_wf set_subtype_base le_wf int_subtype_base mklist_length nat_properties decidable__le satisfiable-full-omega-tt intformand_wf intformnot_wf intformle_wf itermConstant_wf itermVar_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_wf all_wf list_wf length_wf int_seg_wf equal_wf select_wf int_seg_properties decidable__lt intformless_wf int_formula_prop_less_lemma less_than_wf squash_wf true_wf iff_weakening_equal length_wf_nat list_extensionality subtype_rel_dep_function int_seg_subtype_nat false_wf itermAdd_wf int_term_value_add_lemma mklist_select lelt_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity lambdaFormation cut hypothesis sqequalHypSubstitution dependent_functionElimination thin introduction extract_by_obid isectElimination cumulativity hypothesisEquality applyEquality because_Cache sqequalRule instantiate independent_isectElimination intEquality lambdaEquality natural_numberEquality equalityTransitivity equalitySymmetry independent_functionElimination isect_memberEquality voidElimination voidEquality applyLambdaEquality setElimination rename unionElimination dependent_pairFormation int_eqEquality independent_pairFormation computeAll dependent_set_memberEquality functionEquality productElimination functionExtensionality imageElimination imageMemberEquality baseClosed universeEquality addEquality comment

Latex:
\mforall{}A,B:Type.  \mforall{}G:(A  List)  {}\mrightarrow{}  (B  List).
    ((\mforall{}L:A  List.  (||L||  =  ||G  L||))
    {}\mRightarrow{}  (\mforall{}L1,L2:A  List.  \mforall{}i:\mBbbN{}.
                ((i  \mleq{}  ||L1||)  {}\mRightarrow{}  (i  \mleq{}  ||L2||)  {}\mRightarrow{}  (\mforall{}j:\mBbbN{}i.  (L1[j]  =  L2[j]))  {}\mRightarrow{}  (\mforall{}j:\mBbbN{}i.  (G  L1[j]  =  G  L2[j]))))
    {}\mRightarrow{}  (\mforall{}f:\mBbbN{}  {}\mrightarrow{}  A.  \mforall{}x:\mBbbN{}.    ((G  mklist(x;f))  =  mklist(x;\mlambda{}n.G  mklist(n  +  1;f)[n]))))



Date html generated: 2017_04_17-AM-07_42_31
Last ObjectModification: 2017_02_27-PM-04_15_51

Theory : list_1


Home Index