### Nuprl Lemma : injection-is-surjection

`∀n:ℕ. ∀f:ℕn ⟶ ℕn.  Surj(ℕn;ℕn;f) supposing Inj(ℕn;ℕn;f)`

Proof

Definitions occuring in Statement :  surject: `Surj(A;B;f)` inject: `Inj(A;B;f)` int_seg: `{i..j-}` nat: `ℕ` uimplies: `b supposing a` all: `∀x:A. B[x]` function: `x:A ⟶ B[x]` natural_number: `\$n`
Definitions unfolded in proof :  all: `∀x:A. B[x]` uimplies: `b supposing a` member: `t ∈ T` inject: `Inj(A;B;f)` implies: `P `` Q` nat: `ℕ` uall: `∀[x:A]. B[x]` so_lambda: `λ2x.t[x]` so_apply: `x[s]` decidable: `Dec(P)` or: `P ∨ Q` prop: `ℙ` sq_type: `SQType(T)` guard: `{T}` surject: `Surj(A;B;f)` int_seg: `{i..j-}` ge: `i ≥ j ` exists: `∃x:A. B[x]` lelt: `i ≤ j < k` and: `P ∧ Q` not: `¬A` satisfiable_int_formula: `satisfiable_int_formula(fmla)` false: `False` top: `Top` subtype_rel: `A ⊆r B` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` uiff: `uiff(P;Q)` ifthenelse: `if b then t else f fi ` le: `A ≤ B` less_than': `less_than'(a;b)` nequal: `a ≠ b ∈ T ` int_upper: `{i...}` bfalse: `ff` bnot: `¬bb` assert: `↑b` rev_implies: `P `` Q` iff: `P `⇐⇒` Q` less_than: `a < b` squash: `↓T` true: `True`
Lemmas referenced :  decidable__exists_int_seg all_wf int_seg_wf not_wf equal-wf-T-base decidable__all_int_seg decidable__not decidable__equal_int_seg inject_wf nat_wf decidable__equal_int subtype_base_sq int_subtype_base int_seg_properties nat_properties full-omega-unsat intformand_wf intformless_wf itermVar_wf itermConstant_wf intformle_wf istype-int int_formula_prop_and_lemma istype-void int_formula_prop_less_lemma int_term_value_var_lemma int_term_value_constant_lemma int_formula_prop_le_lemma int_formula_prop_wf injection_le subtract_wf decidable__le intformnot_wf itermSubtract_wf intformeq_wf int_formula_prop_not_lemma int_term_value_subtract_lemma int_formula_prop_eq_lemma le_wf lt_int_wf eqtt_to_assert assert_of_lt_int upper_subtype_nat istype-false nequal-le-implies zero-add zero-le-nat int_seg_subtype_nat int_upper_properties decidable__lt less_than_wf eqff_to_assert bool_cases_sqequal bool_wf bool_subtype_base assert-bnot iff_weakening_uiff assert_wf equal-wf-base set_subtype_base lelt_wf bnot_wf bool_cases iff_transitivity assert_of_bnot iff_imp_equal_bool btrue_wf iff_functionality_wrt_iff true_wf iff_weakening_equal subtract-is-int-iff false_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :lambdaFormation_alt,  Error :isect_memberFormation_alt,  cut introduction sqequalRule sqequalHypSubstitution Error :lambdaEquality_alt,  dependent_functionElimination thin hypothesisEquality axiomEquality hypothesis Error :functionIsTypeImplies,  Error :inhabitedIsType,  rename instantiate extract_by_obid natural_numberEquality setElimination because_Cache isectElimination Error :universeIsType,  independent_functionElimination applyEquality unionElimination Error :functionIsType,  cumulativity intEquality independent_isectElimination equalityTransitivity equalitySymmetry productElimination approximateComputation Error :dependent_pairFormation_alt,  int_eqEquality Error :isect_memberEquality_alt,  voidElimination independent_pairFormation Error :dependent_set_memberEquality_alt,  equalityElimination hypothesis_subsumption Error :productIsType,  Error :equalityIsType1,  promote_hyp Error :equalityIsType4,  baseApply closedConclusion baseClosed applyLambdaEquality imageElimination pointwiseFunctionality

Latex:
\mforall{}n:\mBbbN{}.  \mforall{}f:\mBbbN{}n  {}\mrightarrow{}  \mBbbN{}n.    Surj(\mBbbN{}n;\mBbbN{}n;f)  supposing  Inj(\mBbbN{}n;\mBbbN{}n;f)

Date html generated: 2019_06_20-PM-01_15_40
Last ObjectModification: 2018_10_07-PM-00_32_35

Theory : int_2

Home Index