Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Non standard natural numbers

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Non standard natural numbers


Chronological Thread 
  • From: Vincent Semeria <vincent.semeria AT gmail.com>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Non standard natural numbers
  • Date: Tue, 8 Jun 2021 17:57:40 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=vincent.semeria AT gmail.com; spf=Pass smtp.mailfrom=vincent.semeria AT gmail.com; spf=None smtp.helo=postmaster AT mail-ot1-f48.google.com
  • Ironport-hdrordr: A9a23:RFjO0KGppvYljmOUpLqE0ceALOsnbusQ8zAXPiFKOGVom6mj/fxG885rsCMc5AxhOk3I3OrwW5VoIkm8yXcW2/h0AV7KZmCP01dAbrsD0WKI+UyGJ8SRzJ866U6iScRD4R/LYGSSQfyU3OBwKbgd/OU=
  • Ironport-phdr: A9a23:3KrfIBJBP6C5pmFDI9mcuMxmWUAX0o4c3iYr45Yqw4hDbr6kt8y7ehCGtLM21A6CBtiTwskHotKei7rnV20E7MTJm1E5W7sIaSU4j94LlRcrGs+PBB6zBvfraysnAJYKDwc9rDm0PkdPBcnxeUDZrGGs4j4OABX/Mhd+KvjoFoLIgMm7yuS/94fdbglUgDexbr1/IRWrpgjNq8cahpdvJLwswRXTuHtIfOpWxWJsJV2Nmhv3+9m98p1+/SlOovwt78FPX7n0cKQ+VrxYES8pM3sp683xtBnMVhWA630BWWgLiBVIAgzF7BbnXpfttybxq+Rw1DWGMcDwULs7Xims77pwSB/wligIKyI5/m/Qisx1lq1boRShrAF7z4PbZIyZMfxzdb7fc9wHX2pMRsleVyJDDY28YYUBDPcPM/hEoITmvVQCsQGzCBOwCO/zyDJFgGL9060g0+QmFAHLxAMvH9MIsHvIstr1MrsSWv2owqbWyDXMcelW2Tbn54PVdR0hv/CMXbRsfsXPz0kvCxnJjk6OpozgITyVzOUNvHKA4upvUOKgkW8nqwVrrjezwccsj5DEi4QIwV/L6St32pw6JcGkSEFle96kFoNduj+EO4Z4Rs4vXWVltDomxrAJpZO1fCgHxpspyhDRZfGKb4qF7B3tWuuQITp1mm5pda6jihuu8kWt1uPyWMa03VtMsyFLnN7MtnUX2BzS7MiKUvR9/ka92TaPygDc8ftIIUEzlafdNpUvwaYwm4INvUjfGiL6gkb7ga+Mekk65+Sk9/7rb7rlq5KaKoR6kBvxMr40lcy6Gek4MhYBX2yc+emk0b3s50z5QLFTgv0xjqnVrYnWJcoUq6O6GQNV3YEj6xGwDzeiztsUh2UILFVAeB6fjojpPU/BIOzgAPuhn1ihlC1nyvPGM7H7HJnBM2TPnK3ucLt+80JczRA8zdFb55JaELEBJ/fzV1fvtNzZCB82LxK7w+D7CNlnzYMRR2ePDbGDMKPTq1CF/e0vI+yWa48UvDbxMeQq5/nrjXMhg18SYbGp3YcLaHC/BvlpP0KZYWP1jtgdFWcKoxExQffxiFyCVD5Tf2y9U7g95jE9EoKmDJ3MSpqjgLybj2+HGchdYXkDAVSRG1/pcZ+FUrECcnG8OMhkxwIFU7OsTZNp7hyruRX7wvIzMOvS8SAeqdT42d14/ezavR43/D1wSc+a1jfeHClPgmoUSmpuj+hEqktnxwLfgMCQYtRdHN1XovRVC0I0ac6awOt9BNT/HAnGe4XRIL5JatqjCDA1CNk2xo1XC66YM9qnhxHHmSGtBu1N/4E=

Concerning the proof that Coq is strongly normalizing, I imagine it proceeds by proving an integer n that bounds the number of beta-reductions in an arbitrary term t. I would accept that n is standard, and therefore that the normalization of t terminates, if n is obtained by a simple arithmetical formula from the syntax of t (length, number of redexes, quantifiers, lambdas, ...). Is it the case ?

On Tue, Jun 8, 2021 at 10:54 AM Slavomir Kaslev <slavomir.kaslev AT gmail.com> wrote:
On Mon, Jun 7, 2021 at 6:05 PM Vincent Semeria <vincent.semeria AT gmail.com> wrote:
That's an amusing way of defining numbers. But your c is the constant sequence at 1, so it does not seem to have a successor : it is not really a natural number.

As defined, succ c does exists and is equal to c:

def succ_c_eq_c : succ c = c :=
begin
have h : adjoin 1 (c.1) = c.1 := funext (λ n, nat.rec rfl (λ n ih, rfl) n),
simp [succ, h],
refl
end


Though one can still argue that c is not a natural number since nat.succ provably has no fixed points.

On Mon, Jun 7, 2021 at 4:41 PM Slavomir Kaslev <slavomir.kaslev AT gmail.com> wrote:
It's possible to give a constructive description a such a term c of type non-increasing binary sequences and then prove c_gt0 and c_non_standard (sorry of using Lean on the list):

def ℕ' := Σ' a : ℕ → fin 2, Π n : ℕ, a (n + 1) ≤ a n

def lt (a b : ℕ') : Prop := ∃ n : ℕ, a.1 n < b.1 n
instance : has_lt ℕ' := ⟨lt⟩

def zero : ℕ' := ⟨λ n, 0, λ n, by rw fin.le_def⟩
instance : has_zero ℕ' := ⟨zero⟩

def adjoin {A} (x₀ : A) (f : ℕ → A) : ℕ → A
| 0 := x₀
| (n+1) := f n

def fin2_le_1 (x : fin 2) : x ≤ 1 := nat.le_of_lt_succ x.2

def succ (a : ℕ') : ℕ' := ⟨adjoin 1 a.1, λ n, begin
induction n,
{ apply fin2_le_1 },
{ apply a.2 }
end⟩

def c : ℕ' := ⟨λ n, 1, λ n, by rw fin.le_def⟩

def c_gt0 : 0 < c := Exists.intro 0 nat.zero_lt_one

def c_non_standard (a : ℕ') (h : a < c) : succ a < c :=
begin
induction h with n h,
existsi n + 1,
exact h
end


(live in browser version)

On Wed, Jun 2, 2021 at 10:54 PM Vincent Semeria <vincent.semeria AT gmail.com> wrote:
>
> Dear Coq club,
>
> Is it possible to axiomatize a term c : nat, such as c is greater than all standard natural numbers ? The first 2 lines are easy,
> Axiom c : nat.
> Axiom c_gt0 : 0 < c.
>
> But then, could we consistently add this axiom ?
> Axiom c_non_standard : forall n:nat, n < c -> S n < c.
>
> If the last axiom is not consistent, we could modify Coq's type checker to interpret all names of the form c_gtSSSS...S0 as closed terms of the corresponding types SSSS...S0 < c. I am pretty sure that these terms are consistent, because if they introduced a proof of False, that proof would be a finite lambda-term with only a finite number of these c_gt terms. Then c could be replaced by the greatest of these terms, and we would obtain a proof of False in basic Coq.



--
Slavomir Kaslev


--
Slavomir Kaslev



Archive powered by MHonArc 2.6.19+.

Top of Page