### Nuprl Lemma : C-comb_wf_funtype

`∀[T:Type]. ∀[n:ℕ]. ∀[A:ℕn ⟶ Type].`
`  C-comb() ∈ funtype(n;A;T) ⟶ funtype(n;λk.if (k =z 0) then A 1 if (k =z 1) then A 0 else A k fi ;T) supposing 2 ≤ n`

Proof

Definitions occuring in Statement :  C-comb: `C-comb()` funtype: `funtype(n;A;T)` int_seg: `{i..j-}` nat: `ℕ` ifthenelse: `if b then t else f fi ` eq_int: `(i =z j)` uimplies: `b supposing a` uall: `∀[x:A]. B[x]` le: `A ≤ B` member: `t ∈ T` apply: `f a` lambda: `λx.A[x]` function: `x:A ⟶ B[x]` natural_number: `\$n` universe: `Type`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` member: `t ∈ T` uimplies: `b supposing a` C-comb: `C-comb()` funtype: `funtype(n;A;T)` top: `Top` nat: `ℕ` all: `∀x:A. B[x]` implies: `P `` Q` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` uiff: `uiff(P;Q)` and: `P ∧ Q` ifthenelse: `if b then t else f fi ` ge: `i ≥ j ` satisfiable_int_formula: `satisfiable_int_formula(fmla)` exists: `∃x:A. B[x]` false: `False` not: `¬A` prop: `ℙ` bfalse: `ff` or: `P ∨ Q` sq_type: `SQType(T)` guard: `{T}` bnot: `¬bb` assert: `↑b` le: `A ≤ B` less_than': `less_than'(a;b)` int_upper: `{i...}` nequal: `a ≠ b ∈ T ` int_seg: `{i..j-}` lelt: `i ≤ j < k` decidable: `Dec(P)` subtype_rel: `A ⊆r B` subtract: `n - m` squash: `↓T` true: `True`
Lemmas referenced :  primrec-unroll eq_int_wf bool_wf eqtt_to_assert assert_of_eq_int nat_properties satisfiable-full-omega-tt intformand_wf intformeq_wf itermVar_wf itermConstant_wf intformle_wf int_formula_prop_and_lemma int_formula_prop_eq_lemma int_term_value_var_lemma int_term_value_constant_lemma int_formula_prop_le_lemma int_formula_prop_wf eqff_to_assert equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot neg_assert_of_eq_int int_upper_subtype_nat false_wf le_wf nequal-le-implies zero-add subtract_wf int_upper_properties itermSubtract_wf int_term_value_subtract_lemma int_seg_wf decidable__le intformnot_wf int_formula_prop_not_lemma decidable__lt intformless_wf int_formula_prop_less_lemma lelt_wf subtype_rel-equal decidable__equal_int add-associates minus-add minus-minus minus-one-mul add-swap add-mul-special add-commutes zero-mul add-zero primrec_wf int_seg_properties funtype_wf nat_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut sqequalRule lambdaEquality thin extract_by_obid sqequalHypSubstitution isectElimination because_Cache isect_memberEquality voidElimination voidEquality hypothesis setElimination rename natural_numberEquality lambdaFormation unionElimination equalityElimination equalityTransitivity equalitySymmetry productElimination independent_isectElimination hypothesisEquality dependent_pairFormation int_eqEquality intEquality dependent_functionElimination independent_pairFormation computeAll promote_hyp instantiate cumulativity independent_functionElimination hypothesis_subsumption dependent_set_memberEquality applyEquality functionExtensionality functionEquality imageElimination universeEquality imageMemberEquality baseClosed axiomEquality

Latex:
\mforall{}[T:Type].  \mforall{}[n:\mBbbN{}].  \mforall{}[A:\mBbbN{}n  {}\mrightarrow{}  Type].
C-comb()  \mmember{}  funtype(n;A;T)  {}\mrightarrow{}  funtype(n;\mlambda{}k.if  (k  =\msubz{}  0)  then  A  1
if  (k  =\msubz{}  1)  then  A  0
else  A  k
fi  ;T)
supposing  2  \mleq{}  n

Date html generated: 2018_05_21-PM-08_02_33
Last ObjectModification: 2017_07_26-PM-05_39_08

Theory : general

Home Index