Nuprl Lemma : stream-zip_wf

[A,B,C:Type]. ∀[f:A ⟶ B ⟶ C]. ∀[as:stream(A)]. ∀[bs:stream(B)].  (stream-zip(f;as;bs) ∈ stream(C))


Proof




Definitions occuring in Statement :  stream-zip: stream-zip(f;as;bs) stream: stream(A) uall: [x:A]. B[x] member: t ∈ T function: x:A ⟶ B[x] universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T nat: implies:  Q false: False ge: i ≥  guard: {T} uimplies: supposing a prop: le: A ≤ B and: P ∧ Q top: Top eq_int: (i =z j) all: x:A. B[x] bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  bfalse: ff exists: x:A. B[x] or: P ∨ Q sq_type: SQType(T) bnot: ¬bb assert: b subtract: m nequal: a ≠ b ∈  not: ¬A decidable: Dec(P) iff: ⇐⇒ Q rev_implies:  Q subtype_rel: A ⊆B less_than': less_than'(a;b) true: True stream-zip: stream-zip(f;as;bs) stream: stream(A) corec: corec(T.F[T])
Lemmas referenced :  nat_properties less_than_transitivity1 less_than_irreflexivity ge_wf less_than_wf primrec_wf top_wf int_seg_wf primrec-unroll btrue_wf bool_wf eqtt_to_assert assert_of_eq_int eqff_to_assert eq_int_wf equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot neg_assert_of_eq_int le_wf decidable__le subtract_wf false_wf not-ge-2 less-iff-le condition-implies-le minus-one-mul zero-add minus-one-mul-top minus-add minus-minus add-associates add-swap add-commutes add_functionality_wrt_le add-zero le-add-cancel nat_wf stream_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality hypothesis setElimination rename sqequalRule intWeakElimination lambdaFormation natural_numberEquality independent_isectElimination independent_functionElimination voidElimination lambdaEquality dependent_functionElimination isect_memberEquality axiomEquality equalityTransitivity equalitySymmetry instantiate universeEquality productEquality cumulativity because_Cache productElimination voidEquality unionElimination equalityElimination dependent_pairFormation promote_hyp minusEquality dependent_set_memberEquality independent_pairFormation addEquality applyEquality intEquality independent_pairEquality functionEquality isectEquality

Latex:
\mforall{}[A,B,C:Type].  \mforall{}[f:A  {}\mrightarrow{}  B  {}\mrightarrow{}  C].  \mforall{}[as:stream(A)].  \mforall{}[bs:stream(B)].
    (stream-zip(f;as;bs)  \mmember{}  stream(C))



Date html generated: 2017_04_14-AM-07_47_34
Last ObjectModification: 2017_02_27-PM-03_17_50

Theory : co-recursion


Home Index