Deutsch   English   Français   Italiano  
<vvrsev$tfq2$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Richard Heathfield <rjh@cpax.org.uk>
Newsgroups: comp.theory
Subject: =?UTF-8?Q?Re=3A_Flibble=E2=80=99s_Leap=3A_Why_Behavioral_Divergence?=
 =?UTF-8?Q?_Implies_a_Type_Distinction_in_the_Halting_Problem?=
Date: Mon, 12 May 2025 05:12:13 +0100
Organization: Fix this later
Lines: 100
Message-ID: <vvrsev$tfq2$1@dont-email.me>
References: <vv1UP.77894$JJT6.54808@fx16.ams4> <vvqd4u$g8a1$1@dont-email.me>
 <7N2UP.527443$wBt6.464256@fx15.ams4> <vvqfgq$gmmk$1@dont-email.me>
 <os3UP.670056$BFJ.223954@fx13.ams4> <vvqgpt$gmmk$4@dont-email.me>
 <aG3UP.366972$wBVe.321504@fx06.ams4>
 <39947848bf73be52ee6fbbeb6d0d929009dfec8e@i2pn2.org>
 <fR8UP.92502$o31.50010@fx04.ams4>
 <fb3915123ad5c4703b92df902c37267fce2c4812@i2pn2.org>
 <vvrhk6$nejb$2@dont-email.me> <vvrhtj$nnmf$1@dont-email.me>
 <43f0f4158610d859516ba3e0115a8a2b8bd7630b@i2pn2.org>
 <vvrl9h$o2ab$6@dont-email.me> <vvrmso$nt1l$2@dont-email.me>
 <87frha4j5w.fsf@nosuchdomain.example.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 12 May 2025 06:12:16 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="c9b9500fbbca16233fc3a49bed1da056";
	logging-data="966466"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+lQYgBGF8O2nCaPn9E3yuPr8SeTL4QcpaDbxRBl+DHcQ=="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:ArD8jAmtMnioVUNrBwVw0lIYphs=
In-Reply-To: <87frha4j5w.fsf@nosuchdomain.example.com>
Content-Language: en-GB
Bytes: 5884

On 12/05/2025 04:11, Keith Thompson wrote:
> Richard Heathfield <rjh@cpax.org.uk> writes:
> [...]
>> ALL C compilers are required to diagnose ALL syntax errors and ALL
>> constraint violations.
> 
> Yes, all conforming C compilers are required to do that.  (Well,
> strictly speaking they're only required to issue at least one diagnostic
> for any translation unit that violates a syntax rule or constraint.)

I was unintentionally ambiguous, for which I apologise.

The point I sought to make is that there is no syntax error (or 
constraint violation) so trivial that a compiler is given licence 
not to issue a diagnostic it if it has no other reason so to do.

That is, they are all capable of ticking the box that says 'must 
issue at least one diagnostic'.

> 
> [...]
> 
>> In my experience, Microsoft's C compiler - although not perfect - is
>> pretty good at following conformance rules. I'd be surprised to learn
>> from a competent source that it misses a syntax error.
> 
> I wouldn't, since few if any C compilers are conforming by default.

I was talking about conforming mode, which IIRC (it's been a 
while) is invoked by -W4 (a warning level that I habitually used 
in the days when I still used Microsoft software).

> I've just tried 4 different C compilers (gcc, clang, and tcc
> on Ubuntu, MS Visual Studio 2022 on Windows), and none of them
> diagnosed a stray semicolon at file scope *by default*.  gcc and
> clang can be persuaded to diagnose it.  tcc, as far as I can tell,
> cannot; I don't believe it claims to be fully conforming in any mode.
> I wasn't able to get MSVS to diagnose it, but there could easily
> be an option that I'm missing.

Could you crank MSVS up to -W4 (or whatever the max is these 
days) and try again? I hate to impose, but of course it's your 
own fault for qualifying as a competent source. ;-)

If it doesn't diagnose at its maximum warning level, then okay, 
~I lose the syntax battle.

> If I wanted to prove something in mathematical logic using C code as
> a vehicle, I personally would try to use fully standard-conforming C.

So would I, if only to fend off pedantic fuss-pots such as... 
well, me, I suppose...

[Aside: I just checked what I laughingly call my archives to 
verify this, and I found an old (and I do mean ancient) Monty 
Hall simulation - 100 lines of C that gcc wasn't too pleased with 
when I turned on nanny mode, but which I'd be perfectly happy to 
defend before the X3J11 committee.

100 lines isn't much, of course, but it was throwaway code, so I 
had less motivation than usual to follow the rules, but follow 
them I still did.]

....and also to eliminate a potential source of error. Why tempt fate?

> I *might* consider using a more lax C-like language, such as the
> language accepted by some C compiler in its default mode -- but I'd
> need a good reason to do that, and I'd want a rigorous definition
> of anything I use that differs from standard C.

Likewise.

I'd also steer clear of basing a mathematical proof on a program 
that is sensitive to the file formats of a particular platform. 
I'd need an *astoundingly* good reason to do that.

> 
> It's possible that olcott's C-like code has well defined behavior
> in the implementation he's using.  If so, I'm not sure there's any
> fundamental reason to use something close to C rather than using C
> itself in an attempted refutation of some well known mathematical
> proof.  (I wouldn't expect either C or something C-like to be a
> good vehicle for such a proof.  I don't think C is defined rigorously
> enough to be useful for such a task, and any C-like language is even
> less so.)

FYI Agda, Lean, and Rocq all offer proof vehicles, and all three 
are likely to be better suited to the task than is C.

> olcott will likely use this to claim that I support his views.
> He will be wrong.

It hardly matters. A crank is a crank is a crank.

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within