Nuprl Lemma : mutual-corec-ext

[k:ℕ]. ∀[F:(ℕk ⟶ Type) ⟶ ℕk ⟶ Type].
  (mutual-corec(T.F[T]) ≡ F[mutual-corec(T.F[T])]) supposing (k-Monotone(T.F[T]) and k-Continuous(T.F[T]))


Proof




Definitions occuring in Statement :  mutual-corec: mutual-corec(T.F[T]) k-continuous: k-Continuous(T.F[T]) k-monotone: k-Monotone(T.F[T]) k-ext: A ≡ B int_seg: {i..j-} nat: uimplies: supposing a uall: [x:A]. B[x] so_apply: x[s] function: x:A ⟶ B[x] natural_number: $n universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] uimplies: supposing a all: x:A. B[x] member: t ∈ T nat: implies:  Q false: False ge: i ≥  guard: {T} prop: k-subtype: A ⊆ B subtype_rel: A ⊆B top: Top so_apply: x[s] decidable: Dec(P) or: P ∨ Q iff: ⇐⇒ Q and: P ∧ Q not: ¬A rev_implies:  Q uiff: uiff(P;Q) subtract: m le: A ≤ B less_than': less_than'(a;b) true: True bool: 𝔹 unit: Unit it: btrue: tt ifthenelse: if then else fi  bfalse: ff exists: x:A. B[x] sq_type: SQType(T) bnot: ¬bb assert: b k-monotone: k-Monotone(T.F[T]) nequal: a ≠ b ∈  squash: T k-ext: A ≡ B mutual-corec: mutual-corec(T.F[T]) so_lambda: λ2x.t[x] sq_stable: SqStable(P) k-continuous: k-Continuous(T.F[T]) int_seg: {i..j-} lelt: i ≤ j < k k-intersection: n. X[n]
Lemmas referenced :  nat_properties less_than_transitivity1 less_than_irreflexivity ge_wf less_than_wf int_seg_wf primrec0_lemma primrec1_lemma top_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 primrec-unroll eq_int_wf bool_wf eqtt_to_assert assert_of_eq_int le_antisymmetry_iff eqff_to_assert equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot neg_assert_of_eq_int add-subtract-cancel primrec_wf not-le-2 not-equal-2 le_wf k-subtype_wf squash_wf true_wf le_weakening2 le_weakening nat_wf k-monotone_wf k-continuous_wf k-intersection_wf sq_stable__le subtype_rel-equal subtype_rel_transitivity
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation cut lambdaFormation introduction extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality hypothesis setElimination rename intWeakElimination natural_numberEquality independent_isectElimination independent_functionElimination voidElimination sqequalRule lambdaEquality dependent_functionElimination axiomEquality isect_memberEquality voidEquality applyEquality functionExtensionality functionEquality cumulativity because_Cache universeEquality unionElimination independent_pairFormation productElimination addEquality intEquality minusEquality equalityElimination equalityTransitivity equalitySymmetry dependent_pairFormation promote_hyp instantiate dependent_set_memberEquality hyp_replacement imageElimination imageMemberEquality baseClosed isectEquality

Latex:
\mforall{}[k:\mBbbN{}].  \mforall{}[F:(\mBbbN{}k  {}\mrightarrow{}  Type)  {}\mrightarrow{}  \mBbbN{}k  {}\mrightarrow{}  Type].
    (mutual-corec(T.F[T])  \mequiv{}  F[mutual-corec(T.F[T])])  supposing 
          (k-Monotone(T.F[T])  and 
          k-Continuous(T.F[T]))



Date html generated: 2018_05_21-PM-00_10_42
Last ObjectModification: 2017_10_18-PM-02_44_21

Theory : co-recursion


Home Index