Logic — math, philosophy & computational aspects

logic, math, philosophy, math games, math help, mathematical logic, philosophy of education, math facts

Why Has None of Computer Science been Formalized?

Do we all agree that Computer Science definitely should be formalized?

While the definitions of common terms (e.g. recursively enumerable) are
formal, the manipulations of these concepts (e.g. the derivation of
proofs) is not.  Can anybody show a single example of a formal
derivation of a result from any branch of Computer Science?  For
example:

1. Program Synthesis: The creation of a computer program based on only
its specifications.

2. The Theory of Computation: A formal derivation of Turing’s proof
of the unsolvability of the halting problem.

3. Recursion Theory: A formal proof that there is a program that
outputs itself, or of the Fixed Point theorem or the Recursion theorem.

4. Incompleteness in Logic: A formal derivation of Godel’s
Incompleteness theorems or Rosser’s improvement or Smullyan’s Dual
Form theorem.

Any formalization would include:

A. A formal statement of the theorem or result.
B. The meaning of any such statement.
C. How A corresponds to the statement of the theorem.
D. An algorithm for generating formal statements such as A.
E. A demonstration that D generates A.
F. A demonstration that D generates only true statements.

Curry-Howard, Manna/Waldinger, Boyer/Moore, Modal Logic, Prologue and
TPTP all attempt to do this, but nobody has ever shown any examples of
anything near A-F.

Would we say that formalization is the ultimate goal of every branch of
Computer Science?  What problem is not enhanced when expressed
formally?

C-B

Comments (24)




24 Responses to “Why Has None of Computer Science been Formalized?”

  1. admin says:

     "Charlie-Boo" <shymath…@gmail.com> wrote:
    > 3. Recursion Theory: A formal proof that there is a program that
    > outputs itself…

    I have in my possession a program that outputs itself. Therefore
    there *is* such a program. Are you asking for a better proof
    than that?


    Alec McKenzie
    usenet@<surname>.me.uk

  2. admin says:

    Charlie-Boo wrote:
    >Can anybody show a single example of a formal
    > derivation of a result from any branch of Computer Science?  For
    > example:
    > 4. Incompleteness in Logic: A formal derivation of Godel’s
    > Incompleteness theorems

    Well, we know that once the Hilbert-Bernays derivability conditions are
    in place, there are easy formal derivation of Con_T –> not-Prov(#G_T),
    using # for "the Gödel number of …).

    And starting with Hilbert-Bernays there are textbook outlines of formal
    proofs that the derivability conditions hold for theories with Sigma_1
    induction. See e.g. Boolos’s book.

    That looks like a formal derivation to me. What more do you want??

  3. admin says:

    Alec McKenzie wrote:
    > "Charlie-Boo" <shymath…@gmail.com> wrote:

    > > 3. Recursion Theory: A formal proof that there is a program that
    > > outputs itself…

    > I have in my possession a program that outputs itself. Therefore
    > there *is* such a program. Are you asking for a better proof
    > than that?

    1. That doesn’t prove the theorem, which must apply to all languages.
    It only says it can be done in that language.

    In the CBPL2 programming language, the special variable A is equal to
    "W A" and W is the command to write a variable, so the program W A also
    outputs itself.  But does that prove it is so of all programming
    languages?

    2. Any single specific proof (such as a specific program to prove that
    something is true of one language) is vastly improved if we have a
    procedure to produce it and lots of other proofs automatically.  Isn’t
    that obvious?

    You haven’t formalized a branch of Computer Science.  These are at
    opposite ends of the spectrum and is described in A-F that is missing
    from your proof.

    C-B

    - Hide quoted text — Show quoted text -

    > —
    > Alec McKenzie
    > usenet@<surname>.me.uk

  4. admin says:

    Peter_Smith wrote:
    > Charlie-Boo wrote:

    > >Can anybody show a single example of a formal
    > > derivation of a result from any branch of Computer Science?  For
    > > example:

    > > 4. Incompleteness in Logic: A formal derivation of Godel’s
    > > Incompleteness theorems

    > Well, we know that once the Hilbert-Bernays derivability conditions are
    > in place, there are easy formal derivation of Con_T –> not-Prov(#G_T),
    > using # for "the Gödel number of …).

    It looks like you’re talking aboiut Rosser’s result, but that doesn’t
    really matter here.

    > And starting with Hilbert-Bernays there are textbook outlines of formal
    > proofs that the derivability conditions hold for theories with Sigma_1
    > induction. See e.g. Boolos’s book.

    > That looks like a formal derivation to me. What more do you want??

    A to F:

    A. A formal statement of the theorem or result.
    B. The meaning of any such statement.
    C. How A corresponds to the statement of the theorem.
    D. An algorithm for generating formal statements such as A.
    E. A demonstration that D generates A.
    F. A demonstration that D generates only true statements.

    C-B

  5. admin says:

     "Charlie-Boo" <shymath…@gmail.com> wrote:
    > Alec McKenzie wrote:
    > > "Charlie-Boo" <shymath…@gmail.com> wrote:

    > > > 3. Recursion Theory: A formal proof that there is a program that
    > > > outputs itself…

    > > I have in my possession a program that outputs itself. Therefore
    > > there *is* such a program. Are you asking for a better proof
    > > than that?

    > 1. That doesn’t prove the theorem, which must apply to all languages.
    > It only says it can be done in that language.

    In which case you must have meant to say "A formal proof that in
    every programming language there is a program that outputs
    itself".

    It seems clear to me that that cannot be true, so there can be
    no proof of it, formal or not.


    Alec McKenzie
    usenet@<surname>.me.uk

  6. admin says:

    Peter_Smith wrote:
    > Charlie-Boo wrote:
    > > 4. Incompleteness in Logic: A formal derivation of Godel’s
    > > Incompleteness theorems

    > Well, we know that once the Hilbert-Bernays derivability conditions are
    > in place, there are easy formal derivation of Con_T –> not-Prov(#G_T),
    > using # for "the Gödel number of …).

    > And starting with Hilbert-Bernays there are textbook outlines of formal
    > proofs that the derivability conditions hold for theories with Sigma_1
    > induction. See e.g. Boolos’s book.

    > That looks like a formal derivation to me. What more do you want??

    This is an odd way of putting it.  Godel’s original proof was a formal
    derivation.  Presumably he just wants it translated from the PM that
    Godel had it in, into the 1st-order PA that we use today.  But it
    doesn’t
    have to be translated directly.  There are lots of newer better ways to
    prove all that.  The acutal problem is that that doesn’t initially
    appear
    to be a computer science result: that is a number theory result.
    It is derived from axioms purporting to describe the arithmetic of the
    natural numbers.  Clearly, what C-B wants instead is for someone
    to present a set of basic axioms defining computer science,
    where the things in the universe are algorithms instead of sets.
    Or where algorithms operate on strings instead of sets.   I guess
    strings would replace sets as the foundation, and then you could
    represent algorithms by strings.  That at least seems slightly more
    natural and computational than representing them by sets.
    But it is unnecessary; you Really Can represent EVERYthing by sets
    (it’s just that sometimes it gets cumbersome, or you have to stop
    short of your own total universe).

  7. admin says:

    george wrote:
    > Godel’s original proof was a formal derivation.

    No it wasn’t. Gödel’s original proof was a bit of informal
    mathematics. He *claimed* in 1931, at the end of his great paper, that
    the informal reasoning could be carried out within the formal
    type-theory he labels P. But he didn’t show it there. Tthe first formal
    proof was given by Hilbert and Bernays some years later. (Gödel and
    Bernays discussed how to do it on a transatlantic vogage. Kreisel has
    apparently said that Gödel *dictated* the proof to Bernays.)

  8. admin says:

    On 10 Sep 2006 11:55:26 -0700, Peter_Smith <ps…@cam.ac.uk> said:

    > george wrote:
    >> Godel’s original proof was a formal derivation.

    > No it wasn’t. Gödel’s original proof was a bit of informal
    > mathematics. He *claimed* in 1931, at the end of his great paper, that
    > the informal reasoning could be carried out within the formal
    > type-theory he labels P. But he didn’t show it there. The first formal
    > proof was given by Hilbert and Bernays some years later.

    Can that proof be found in their Grundlagen der Mathematik?  If so, do
    you happen to know which volume?

  9. admin says:

    Chris Menzel wrote:
    > Can that proof be found in their Grundlagen der Mathematik?  If so, do
    > you happen to know which volume?

    Vol2, pp. 283-340.

  10. admin says:

    Charlie-Boo wrote:
    > Do we all agree that Computer Science definitely should be formalized?

    What’s the merit in being completely formal, for any branch of
    mathematics? Surely it’s enough to convince ourselves that we could
    formalize it.

  11. admin says:

    On 10 Sep 2006 14:29:13 -0700, Peter_Smith <ps…@cam.ac.uk> said:

    > Chris Menzel wrote:

    >> Can that proof be found in their Grundlagen der Mathematik?  If so, do
    >> you happen to know which volume?

    > Vol2, pp. 283-340.

    Thanks.

  12. admin says:

    Alec McKenzie wrote:
    > In which case you must have meant to say "A formal proof that in
    > every programming language there is a program that outputs
    > itself".

    > It seems clear to me that that cannot be true

    Why?

    - Hide quoted text — Show quoted text -

    > Alec McKenzie
    > usenet@<surname>.me.uk

  13. admin says:

    Rupert wrote:
    > What’s the merit in being completely formal, for any branch of
    > mathematics? Surely it’s enough to convince ourselves that we could
    > formalize it.

    The question is surely not so much about the merits
    of that approach as the POSSIBLITY.  People are not
    computers.  People in general just don’t communicate
    in a "completely formal" way.  But that does NOT change
    the fact that MATH *is* BY DEFINITION *completely* formal;
    that is what MAKES it math.

  14. admin says:

    Peter_Smith wrote:
    > george wrote:

    > > Godel’s original proof was a formal derivation.

    > No it wasn’t. Gödel’s original proof was a bit of informal
    > mathematics.

    The overall outline may have been informal
    but this informal shell housed a huge formal
    kernel.  There is nothing whatsoever informal
    about defining a whole bunch of predicates to
    construct a Godel sentence.  There is nothing
    informal about an explicit Godel numbering.

  15. admin says:

    george wrote:
    > MATH *is* BY DEFINITION *completely* formal;
    > that is what MAKES it math.
    george also wrote:
    > There is nothing whatsoever informal
    > about defining a whole bunch of predicates to
    > construct a Godel sentence.  There is nothing
    > informal about an explicit Godel numbering.

    One contrast we might be interested in is fully formalized mathematics
    (presented in a formalized language, with the deductions conducted
    within some formalized deductive framework — conforming to the
    Hilbertian ideal) versus "common-or-garden" mathematics of the kind you
    find in typical text books. Now in terms of *that* contrast, it is
    quite uncontroversial that lots of mathematics isn’t fully formalized,
    and equally quite uncontroversial that e.g. Gödel’s paper is an
    exercise in non-formalized mathmetics (it is *about* some fully
    formalized mathematics, but it discusses it in a not fully formalized
    way). Perhaps the more informal mathematics in some sense aspires to
    the status of the fully formalized, but most mathematics plainly isn’t
    formalized as it stands

    Now if you want to use "completely formal" in some sense that covers
    both  fully formalized mathematics and common-or-garden mathematical
    argument, then you owe us an account of what you mean. Perhaps the idea
    is that all mathematics *could* be made fully formal if we put in the
    effort? (Though it is far from clear either why that should be so.) But
    thinking about the rights and wrongs of that view is running ahead of
    ourselves. The question is: what could it mean to say that all
    mathematics is  *completely* formal just in virtue of being
    mathematics. As I say, it is evident that it isn’t all fully formalized
    as it stands — so what is being claimed???

  16. admin says:

    > Alec McKenzie wrote [wrongly]:
    > > you must have meant to say "A formal proof that in
    > > every programming language there is a program that outputs
    > > itself".

    > > It seems clear to me that that cannot be true

    C-B asks,

    > Why?

    Because there are a lot of simple easy-to-define
    programming languages in which you OBVIOUSLY can’t do it,
    that’s why.  SOME programming languages are LAME.
    But despite being right about that, Alec is still wrong in
    general; you obviously didn’t mean "every" programming
    language; you meant every REASONABLY rich programming
    language.  By analogy, not all recursive 1st-order theories
    are subject to Godelian incompleteness.  But all the adequately
    powerful ones are.

  17. admin says:

    - Hide quoted text — Show quoted text -

    george wrote:
    > Peter_Smith wrote:
    > > Charlie-Boo wrote:
    > > > 4. Incompleteness in Logic: A formal derivation of Godel’s
    > > > Incompleteness theorems

    > > Well, we know that once the Hilbert-Bernays derivability conditions are
    > > in place, there are easy formal derivation of Con_T –> not-Prov(#G_T),
    > > using # for "the Gödel number of …).

    > > And starting with Hilbert-Bernays there are textbook outlines of formal
    > > proofs that the derivability conditions hold for theories with Sigma_1
    > > induction. See e.g. Boolos’s book.

    > > That looks like a formal derivation to me. What more do you want??

    > This is an odd way of putting it.  Godel’s original proof was a formal
    > derivation.  Presumably he just wants it translated from the PM that
    > Godel had it in, into the 1st-order PA that we use today.  But it
    > doesn’t
    > have to be translated directly.  There are lots of newer better ways to
    > prove all that.

    Yes!  Have you ever seen anything as short as the CBL proof of Rosser
    1936?

    "If an axiomatic system is decidable and consistent, then its
    refutable sentences coincide with its unprovable sentences, but the
    former set is r.e while the latter is not."  [CBL, 2006]

    > The acutal problem is that that doesn’t initially
    > appear
    > to be a computer science result: that is a number theory result.

    Ixnay.  The Theory of Computation is a branch of CS.  A set is
    enumerable by a Turing Machine iff it is representable in Peano
    Arithmetic.  Godel’s and Turing’s results are related – although
    nobody was able to show exactly how when I asked.

    I asked what the relationship is between Godel 1931 and Turing 1937
    because, to answer this question, you must formalize both of them.  And
    since it seems that nobody has even done that (without using CBL), that
    could be tested by seeing if anyone can say the exact relationship.

    The exact relationship is that each is a CBL theorem that uses
    different sets of assumptions and rules being applied.

    Godel’s 1st.based on soundness: -{ ~PR/TW , PR=>TW, TW=>PR }

    1, – ~P/P       Axiom (all Incompleteness proofs begin with this axiom.)
    2. -{ ~P/P }    Notational change
    3. -{ ~PR/PR }  SUB 2: The set of unprovable sentences is not
    representable.
    4. -{ ~PR/TW , PR=TW }          SUB 3
    5. -{ ~PR/TW , PR=>TW , TW=>PR }  DEF 4
         If unprovability is expressible, then the system is not both sound
    and complete.
        qed

    We can go into further detail:

    6. ~PR/TW + PR=>TW => -TW=>PR
    If unprovability is expressible, then if sound the system is not
    complete.

    7. ~PR/TW + PR=>TW => TW(M) + ~PR(M)
    If unprovability is expressible, then if sound there is a sentence that
    is true and unprovable.

    > It is derived from axioms purporting to describe the arithmetic of the
    > natural numbers.  Clearly, what C-B wants instead is for someone
    > to present a set of basic axioms defining computer science,

    Well yes, that would do.  As it turns out, axioms are what is needed.
    I didn’t make it come out that way.  That’s just the way it is.
    The use of axioms and rules of inferences pervades formal Computer
    Science.

    The primitive relation is expressed by P=Q(M) where P and Q are
    relations and M is an individual element of the universal set,
    expressed as M#P/Q in CBL because of variations that are needed such as
    P/Q for (eM)M#P/Q and P for P/YES which is P is r.e.

    > where the things in the universe are algorithms instead of sets.
    > Or where algorithms operate on strings instead of sets.

    Wait a minute.  If algorithm replaces set, then when you say that
    algorithms operate on strings, you are saying that sets operate on
    strings.  But sets don’t operate on things – functions do.  Set just
    set there – I mean, sit there.

    > I guess
    > strings would replace sets as the foundation,

    That’s PA.

    > and then you could
    > represent algorithms by strings.

    Fancy that!

    > That at least seems slightly more
    > natural and computational than representing them by sets.
    > But it is unnecessary; you Really Can represent EVERYthing by sets

    No.  {x|~(xex)} is not a set.

    (Its formalization in CBL shows this.)

    > (it’s just that sometimes it gets cumbersome, or you have to stop
    > short of your own total universe).

    All of that is represented formally in CBL.  Basically,

    1. Computer Science should be formalized.

    2. No published paper has formalized any of it.  (Definitions alone do
    not a formalization make.)

    3. CBL formalizes almost all of Computer Science.  In particular,
    Program Synthesis, Theory of Computation, Recursion Theory and
    Incompleteness in Logic are all axiomatized:

    Program Synthesis: ADD(I,J,x)* + MUL(I, J,x)*
    Theory of Computation: YIT(I,J,K)* + TRUE(x) + – ~YES(x,x)  [Kleene,
    Peano, Turing]
    Recursion Theory: M#f(I) => s11(M,N)#f(N) + s11(I,J) + f(I,J) => f(I,I)
    Incompleteness in Logic: -~P/P

    (The Rules of Inference are the 8 rules that I describe in my ARXIV
    paper.)

    Then note the 3 levels of Computer Science displayed here:

    1. Incompleteness in Logic: What properties of a formal system are
    compatible?
    2. Program Synthesis & Theory of Computation: What relations are
    representable?
    3. Recursion Theory: What relations have representations that have
    certain properties?

    C-B

  18. admin says:

    Peter_Smith wrote:
    > george wrote:

    > > Godel’s original proof was a formal derivation.

    > No it wasn’t. Gödel’s original proof was a bit of informal
    > mathematics. He *claimed* in 1931, at the end of his great paper, that
    > the informal reasoning could be carried out within the formal
    > type-theory he labels P. But he didn’t show it there. Tthe first formal
    > proof was given by Hilbert and Bernays some years later. (Gödel and
    > Bernays discussed how to do it on a transatlantic vogage. Kreisel has
    > apparently said that Gödel *dictated* the proof to Bernays.)

    You’re going to have to define "formal proof" here.  Can you present
    A-F as I listed?  Surely if something is formally proven, then there is
    a formal representation of the theorem, a way of generating proofs, a
    demonstration that the representation is generated, etc.

    Are you suspicious of axiomatic systems that prove only one theorem?

    C-B

  19. admin says:

    Rupert wrote:
    > Charlie-Boo wrote:
    > > Do we all agree that Computer Science definitely should be formalized?

    > What’s the merit in being completely formal, for any branch of
    > mathematics? Surely it’s enough to convince ourselves that we could
    > formalize it.

    Why develop mathematics?

    Why have people axiomatized branches of mathematics?

    Is it better to have a single representation for a theorem rather than
    many equivalent representations?

    C-B

  20. admin says:

    george wrote:
    > Peter_Smith wrote:
    > > george wrote:

    > > > Godel’s original proof was a formal derivation.

    > > No it wasn’t. Gödel’s original proof was a bit of informal
    > > mathematics.

    > The overall outline may have been informal
    > but this informal shell housed a huge formal
    > kernel.  There is nothing whatsoever informal
    > about defining a whole bunch of predicates to
    > construct a Godel sentence.  There is nothing
    > informal about an explicit Godel numbering.

    You have to tell in advance an exact algorithm that creates every
    proof.  You are saying that it can be formalized, but Godel didn’t.

    BTW To formalize the results of Godel et. al., it helps to rearrange
    the arguments into a "tree structure" of logic.  If you formalize it
    verbatim, then you have more or less a program that is being defined –
    "take wff G.  If it is provable, then . . . If it is not provable, then
    consider . . ."  Then you have to describe what these "programs" in
    general accomplish – not so easy!  But if you rearrange it so you see
    that e.g. the result is showing that P=>Q and Q=>P and then that P==Q,
    you can develop rules for constructing these tree structures.  (That’s
    how CBL does it.)

    C-B

  21. admin says:

    george wrote

    > Godel’s original proof was a formal derivation.

    I wrote

    > No it wasn’t.  Gödel’s original proof was a bit of informal
    > mathematics. He *claimed* in 1931, at the end of his great paper, that
    > the informal reasoning could be carried out within the formal
    > type-theory he labels P. But he didn’t show it there. Tthe first formal
    >  proof was given by Hilbert and Bernays some years later.

    C-B wrote

    > You’re going to have to define "formal proof" here.

    Why so? The situation is surely entirely clear and entirely well-known.

    (i) Gödel in 1931 showed that a certain sentence is not formally
    derivable within the formal system P (a simplified version of the type
    theory of Principia). (ii) His argument for this is a bit of ordinary
    unformalized mathematical reasoning, rendered as it happens in German,
    not within P. (iii) However, there isa sentence of P’s formal language,
    call it Th, which  – via coding — expresses the result that he has
    informally proved. (iv) In 1931, Gödel claimed, but didn’t show, that
    there is in fact a formal derivation of this formal arithmetic sentence
    Th within the formal theory P itself. (v) Hilbert and Bernays later
    showed in considerable detail how to do the derivation within the
    formal system P In other words, in the utterly standard textbook sense
    of ‘formal proof’, they showed how to give a formal proof of Th in P.
    (Well strictly, within variants of P, but the differing details don’t
    matter here). No odd or unusual sense of "formal proof" that needs
    special explanation is involved.

  22. admin says:

    Charlie-Boo wrote:
    > Alec McKenzie wrote:

    >> In which case you must have meant to say "A formal proof that in
    >> every programming language there is a program that outputs
    >> itself".

    >> It seems clear to me that that cannot be true

    > Why?

    Consider, for example, an XML-based Turing Machine description language
    in which the tape alphabet is limited to {’0′,’1′,’ ‘}. No program’s
    source code can appear on the tape, because every XML document contains
    ‘<’ etc., yet the language is Turing-complete.

    Patricia

  23. admin says:

    george wrote:
    > Rupert wrote:
    > > What’s the merit in being completely formal, for any branch of
    > > mathematics? Surely it’s enough to convince ourselves that we could
    > > formalize it.

    > The question is surely not so much about the merits
    > of that approach as the POSSIBLITY.  People are not
    > computers.  People in general just don’t communicate
    > in a "completely formal" way.  But that does NOT change
    > the fact that MATH *is* BY DEFINITION *completely* formal;
    > that is what MAKES it math.

    And we can’t communicate Math without being formal, can we?

    If Math = Formal, then what does it mean to be formal?

    C-B

    That’s george, always hot on the trail of a new scoop.

    Is physics formal?

  24. admin says:

    Chris Menzel wrote:
    > On 10 Sep 2006 14:29:13 -0700, Peter_Smith <ps…@cam.ac.uk> said:

    > > Chris Menzel wrote:

    > >> Can that proof be found in their Grundlagen der Mathematik?  If so, do
    > >> you happen to know which volume?

    > > Vol2, pp. 283-340.

    > Thanks.

    I’m do impressed!  I want you to write back and tell us all exactly
    what it says and just what it means, ‘k?

    I think it’s also in Gruntlonger dis Mathemydik Vol. 69 i. 812

Place your comment

You must be logged in to post a comment.