Nuprl Lemma : iterate_functor_wf

[I:Type]. ∀[R:I ⟶ I ⟶ ℙ].
  ∀[F:Type ⟶ Type]. ∀[i:I].  (iterate_functor(I;x,y.R[x;y];T.F[T];i) ∈ Type) supposing tcWO(I;x,y.R[x;y])


Proof




Definitions occuring in Statement :  iterate_functor: iterate_functor(I;x,y.R[x; y];T.F[T];a) tcWO: tcWO(T;x,y.>[x; y]) uimplies: supposing a uall: [x:A]. B[x] prop: so_apply: x[s1;s2] so_apply: x[s] member: t ∈ T function: x:A ⟶ B[x] universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] uimplies: supposing a member: t ∈ T subtype_rel: A ⊆B prop: decidable: Dec(P) all: x:A. B[x] consistent-seq: R-consistent-seq(n) nat: le: A ≤ B and: P ∧ Q less_than': less_than'(a;b) false: False not: ¬A implies:  Q int_seg: {i..j-} sq_stable: SqStable(P) lelt: i ≤ j < k guard: {T} squash: T tcWO: tcWO(T;x,y.>[x; y]) exists: x:A. B[x] so_apply: x[s1;s2] cWObar: cWObar() exposed-it: exposed-it bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  bfalse: ff so_lambda: λ2x.t[x] so_apply: x[s] or: P ∨ Q sq_type: SQType(T) bnot: ¬bb assert: b ge: i ≥  int_upper: {i...} iff: ⇐⇒ Q rev_implies:  Q subtract: m top: Top true: True isr: isr(x) isl: isl(x) outl: outl(x) eq_int: (i =z j) cWO-rel: cWO-rel(R) less_than: a < b cand: c∧ B iterate_functor: iterate_functor(I;x,y.R[x; y];T.F[T];a) so_lambda: λ2y.t[x; y]
Lemmas referenced :  unit_wf2 cWO-rel_wf subtype_rel_self decidable__cWObar int_seg_wf int_seg_subtype_nat istype-false subtype_rel_function int_seg_subtype sq_stable__le le_weakening2 cWO-rel-path-barred le_wf less_than_wf not_wf nat_wf eq_int_wf eqtt_to_assert assert_of_eq_int less_than_transitivity1 le_weakening less_than_irreflexivity eqff_to_assert set_subtype_base istype-int int_subtype_base bool_cases_sqequal subtype_base_sq bool_wf bool_subtype_base assert-bnot neg_assert_of_eq_int upper_subtype_nat nat_properties nequal-le-implies zero-add subtract_wf decidable__le not-le-2 less-iff-le condition-implies-le minus-one-mul minus-one-mul-top istype-void int_upper_wf minus-add minus-minus add-associates add-swap add-commutes add_functionality_wrt_le add-zero le-add-cancel decidable__lt not-lt-2 add-mul-special zero-mul le-add-cancel-alt true_wf assert_wf isl_wf outl_wf bool_cases le_antisymmetry_iff iff_transitivity bnot_wf equal-wf-base iff_weakening_uiff assert_of_bnot add-subtract-cancel istype-universe tcWO_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  cut hypothesis strong_bar_Induction unionEquality hypothesisEquality introduction extract_by_obid sqequalHypSubstitution isectElimination thin applyEquality sqequalRule instantiate universeEquality dependent_functionElimination Error :dependent_set_memberEquality_alt,  Error :functionIsType,  Error :universeIsType,  natural_numberEquality setElimination rename independent_isectElimination independent_pairFormation Error :lambdaFormation_alt,  because_Cache independent_functionElimination productElimination imageMemberEquality baseClosed imageElimination Error :dependent_pairFormation_alt,  Error :productIsType,  Error :inhabitedIsType,  unionElimination equalityElimination equalityTransitivity equalitySymmetry axiomEquality voidElimination Error :equalityIsType2,  baseApply closedConclusion intEquality Error :lambdaEquality_alt,  promote_hyp cumulativity hypothesis_subsumption addEquality Error :isect_memberEquality_alt,  minusEquality Error :equalityIsType1,  Error :inlEquality_alt,  functionEquality hyp_replacement applyLambdaEquality productEquality Error :equalityIsType4,  int_eqReduceTrueSq isectEquality setEquality

Latex:
\mforall{}[I:Type].  \mforall{}[R:I  {}\mrightarrow{}  I  {}\mrightarrow{}  \mBbbP{}].
    \mforall{}[F:Type  {}\mrightarrow{}  Type].  \mforall{}[i:I].    (iterate\_functor(I;x,y.R[x;y];T.F[T];i)  \mmember{}  Type) 
    supposing  tcWO(I;x,y.R[x;y])



Date html generated: 2019_06_20-PM-00_35_08
Last ObjectModification: 2018_10_07-AM-00_37_51

Theory : co-recursion


Home Index