Nuprl Lemma : length-map2

[T:Type]
  ∀[A,B:Type]. ∀[f:A ⟶ B ⟶ T]. ∀[as:A List]. ∀[bs:B List].
    ||map2(f;as;bs)|| ||as|| ∈ ℤ supposing ||as|| ||bs|| ∈ ℤ 
  supposing value-type(T)


Proof




Definitions occuring in Statement :  map2: map2(f;as;bs) length: ||as|| list: List value-type: value-type(T) uimplies: supposing a uall: [x:A]. B[x] function: x:A ⟶ B[x] int: universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a so_lambda: λ2x.t[x] prop: so_apply: x[s] implies:  Q map2: map2(f;as;bs) nil: [] it: all: x:A. B[x] top: Top cons: [a b] so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] has-value: (a)↓ decidable: Dec(P) or: P ∨ Q iff: ⇐⇒ Q and: P ∧ Q not: ¬A rev_implies:  Q false: False uiff: uiff(P;Q) guard: {T} subtract: m subtype_rel: A ⊆B le: A ≤ B less_than': less_than'(a;b) true: True squash: T
Lemmas referenced :  list_induction uall_wf list_wf isect_wf equal_wf length_wf map2_wf equal-wf-base-T equal-wf-T-base nil_wf length_of_nil_lemma equal-wf-base length_of_cons_lemma cons_wf spread_cons_lemma value-type_wf value-type-has-value list-value-type decidable__equal_int false_wf not-equal-2 le_antisymmetry_iff condition-implies-le add-associates minus-add minus-one-mul add-swap minus-one-mul-top zero-add add-commutes add_functionality_wrt_le le-add-cancel2 squash_wf true_wf add_functionality_wrt_eq iff_weakening_equal
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut thin extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality sqequalRule lambdaEquality cumulativity hypothesis intEquality because_Cache independent_isectElimination functionExtensionality applyEquality independent_functionElimination baseClosed equalityTransitivity equalitySymmetry lambdaFormation rename dependent_functionElimination isect_memberEquality voidElimination voidEquality addEquality natural_numberEquality axiomEquality functionEquality universeEquality callbyvalueReduce unionElimination independent_pairFormation productElimination minusEquality imageElimination imageMemberEquality

Latex:
\mforall{}[T:Type]
    \mforall{}[A,B:Type].  \mforall{}[f:A  {}\mrightarrow{}  B  {}\mrightarrow{}  T].  \mforall{}[as:A  List].  \mforall{}[bs:B  List].
        ||map2(f;as;bs)||  =  ||as||  supposing  ||as||  =  ||bs|| 
    supposing  value-type(T)



Date html generated: 2017_04_14-AM-08_48_53
Last ObjectModification: 2017_02_27-PM-03_34_52

Theory : list_0


Home Index