Nuprl Lemma : unique-corec-solution

[F:Type ⟶ Type]
  ∀[I:Type]
    ∀G:⋂T:{T:Type| (F[T] ⊆T) ∧ (corec(T.F[T]) ⊆T)} ((I ⟶ T) ⟶ I ⟶ F[T])
      ∃!s:I ⟶ corec(T.F[T]). (s (G s) ∈ (I ⟶ corec(T.F[T]))) 
  supposing ContinuousMonotone(T.F[T])


Proof




Definitions occuring in Statement :  corec: corec(T.F[T]) continuous-monotone: ContinuousMonotone(T.F[T]) exists!: !x:T. P[x] uimplies: supposing a subtype_rel: A ⊆B uall: [x:A]. B[x] so_apply: x[s] all: x:A. B[x] and: P ∧ Q set: {x:A| B[x]}  apply: a isect: x:A. B[x] function: x:A ⟶ B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] uimplies: supposing a member: t ∈ T continuous-monotone: ContinuousMonotone(T.F[T]) and: P ∧ Q type-monotone: Monotone(T.F[T]) subtype_rel: A ⊆B type-continuous: Continuous(T.F[T]) all: x:A. B[x] ext-eq: A ≡ B cand: c∧ B istype: istype(T) so_lambda: λ2x.t[x] so_apply: x[s] prop: exists!: !x:T. P[x] exists: x:A. B[x] squash: T true: True guard: {T} iff: ⇐⇒ Q rev_implies:  Q implies:  Q so_apply: x[s1;s2] indexed-F-bisimulation: x,y.R[x; y] is an T.F[T]-bisimulation (indexed I)
Lemmas referenced :  subtype_rel_wf nat_wf corec-ext corec_wf subtype_rel_dep_function continuous-monotone_wf fix_wf_corec_system equal_wf squash_wf true_wf subtype_rel_self iff_weakening_equal indexed-coinduction-principle all_wf subtype_rel_transitivity
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  cut introduction sqequalRule sqequalHypSubstitution productElimination thin independent_pairEquality Error :isect_memberEquality_alt,  isectElimination hypothesisEquality axiomEquality hypothesis Error :universeIsType,  extract_by_obid equalityTransitivity equalitySymmetry Error :inhabitedIsType,  universeEquality Error :functionIsType,  rename Error :lambdaFormation_alt,  independent_isectElimination independent_pairFormation Error :lambdaEquality_alt,  applyEquality Error :dependent_set_memberEquality_alt,  because_Cache Error :productIsType,  functionEquality cumulativity functionExtensionality Error :isectIsType,  Error :setIsType,  setElimination Error :dependent_pairFormation_alt,  Error :functionExtensionality_alt,  imageElimination dependent_functionElimination natural_numberEquality imageMemberEquality baseClosed instantiate independent_functionElimination Error :equalityIsType1,  productEquality

Latex:
\mforall{}[F:Type  {}\mrightarrow{}  Type]
    \mforall{}[I:Type]
        \mforall{}G:\mcap{}T:\{T:Type|  (F[T]  \msubseteq{}r  T)  \mwedge{}  (corec(T.F[T])  \msubseteq{}r  T)\}  .  ((I  {}\mrightarrow{}  T)  {}\mrightarrow{}  I  {}\mrightarrow{}  F[T])
            \mexists{}!s:I  {}\mrightarrow{}  corec(T.F[T]).  (s  =  (G  s)) 
    supposing  ContinuousMonotone(T.F[T])



Date html generated: 2019_06_20-PM-00_37_32
Last ObjectModification: 2018_10_01-AM-10_05_11

Theory : co-recursion


Home Index