-- Defining Tarski’s ∀x True(x) ↔ φ(x) ∀x True(x) ↔ ∃y Provable(y, x) // True entirely defined by Provability ∀x False(x) ↔ ∃y Provable(y, ~x) // False entirely defined by Refutability
peteolcott wrote:
All sound inference begins with a set of finite string axioms and
through a specific set of finite string transformation rules
derives a finite string conclusion. This combines Aristotle and
Hilbert.
To me, a sound inference is one that transmits truth from the premises to the conclusion. Your account is very vague: what axioms, what rules? Mine is also problematic: what is truth? (Of course, I don't mean "mine" literally, I am just quoting what I have learned.) Can you give relevant citations for Aristotle and Hilbert?
Invalid reasoning (the whole set of fallacies) is using any finite
string transformation rules that are not in the predefined set.
There you go again, what set?
Peter Olcott, from what you say here it would appear that you would like to give some kind of definition of truth. Truth in any particular language? First-order language of arithmetic?
First Order Languages artificially
restrict their Relations to First Order objects. They cannot for
example express Relations between Relations.
My own Minimal Type Theory is
almost identical to FOL except that it can express Relations
between (or among) any element of the set of
Things.
https://philpapers.org/archive/PETMTT-4.pdf
https://philpapers.org/archive/OLCPWM.pdf
My definition of Truth is in my signature line:
Maybe my answer was not direct enough:Well, you didn't answer my question...
Because you didn't answer. Yes, I know you think that's a definition of truth. Truth in which language? You didn't answer.
For the third time now: Truth in the language of Minimal Type Theory...
On Saturday, December 2, 2017 at 11:21:28 PM UTC+1, Pete Olcott wrote:
Peter Olcott, from what you say here it would appear that you would like to give some kind of definition of truth. Truth in any particular language? First-order language of arithmetic?
peteolcott wrote:
The expressions that I am using now seem to be conventional second or
third order logic. Thus their language is already defined.
That it only seems and that it's something or something else doesn't look promising. But let's be positive and suppose that it's second order. There is more than one second order language. Which is yours? (If it turns out to be third order, a similar question arises.) Once the language is fixed, there are such questions as do you have comprehension axioms?
https://en.wikipedia.org/wiki/Second-order_logic
First-order logic quantifies only variables that range over
individuals (elements of the domain of discourse); second-order
logic, in addition, also quantifies over relations.
Second-order logic also includes quantification over sets,
functions, and other variables as explained in the section
Syntax and fragments.
Since my expression quantifies over set of relations (WFF) that
would seem to make it 3rd Order Logic.
See next reply for more details: Copyright 2017 Pete Olcott
On 12/4/2017 8:17 AM, Peter Percival wrote:
peteolcott wrote:
The expressions that I am using now seem to be conventional second or
third order logic. Thus their language is already defined.
That it only seems and that it's something or something else doesn't look promising. But let's be positive and suppose that it's second order. There is more than one second order language. Which is yours? (If it turns out to be third order, a similar question arises.) Once the language is fixed, there are such questions as do you have comprehension axioms?
https://en.wikipedia.org/wiki/Second-order_logic
First-order logic quantifies only variables that range over individuals (elements of the domain of discourse); second-order logic, in addition, also quantifies over relations.
Second-order logic also includes quantification over sets, functions, and other variables as explained in the section Syntax and fragments.
Since my expression quantifies over set of relations (WFF) that would seem to make it 3rd Order Logic.
See next reply for more details: Copyright 2017 Pete Olcott
On Monday, December 4, 2017 at 7:35:55 AM UTC+1, peteolcott wrote:On Monday, December 4, 2017 at 12:16:39 AM UTC-6, Rupert wrote:
I clicked your first link. No definition of this language is given.I have partial BNF on the first page of the second link. The actual BNF is totally complete, and I have a fully operational computer language compiler that translates these expression into directed acyclic graphs. I can't release the full BNF. The expressions that I am using now seem to be conventional second or third order logic. Thus their language is already defined. ∀x True(x) ↔ (∃Γ ⊆ SOL Provable(Γ, x))You're talking about a second or third order language? What signature?
I explained this in great depth in
my three part reply to Percival.
I will sum it up here if you want additional details please see
my three part reply to Percival.
This is the first time the I have
ever answered a question about the signature of a language thus
I am answering this question to some degree in terms of my
current understanding of the definition of the signature of a
function from computer science.
The actual signature of the set of
languages that I am defining is specified by the syntax of
Minimal Type Theory. MTT provides the means for any WFF to be
assigned an alias name, and for any alias name to be
quantified. This provides the means for specifying expressions
of arbitrary finite order logic.
It is very important to totally
understand the precise syntax and semantics of MTT alias names
because this key distinction is entirely different than the
infinite hierarchy of indirect reference that Tarski referred
to.
I have not redundantly provided this material directly in the thread, I provided much of it on the referenced links.You misunderstood what is meant by the signature of a language. It just means the set of non-logical symbols. You have not, anywhere in this thread, given a definition of the language of MTT.
On 12/5/2017 10:42 AM, peteolcott wrote:
On Tuesday, December 5, 2017 at 8:53:54 AM UTC-6,
I count this as a complete language specification because*emphasis added*
this is all that is needed to automatically generate a
computer program that can accept finite strings as
belonging to FOPL the language or reject finite strings
as not belonging to *the* FOPL language.
There is an essential point that you've missed:
It is not correct to say *the* FOPL language. There are
many. The first step in specifying a particular first-order
formal system is to say *which* FOPL language is being used.
For example, the usual description of the set theory ZFC
has one undefined binary predicate in its language, 'e'.
x e y == 'x is an element of y"
There are other things _defined_ in ZFC, set equality,It is not that it needed fixing as much as the fact that I kept most of the details as is a trade secret.
the empty set, functions, etc etc etc, and they will often
have notations _defined_ for them, but those are all defined
by (eventually) expressions using only 'e' and the usual
first-order suspects: variable names, logical operators,
quantifiers, parentheses, commas.
Equality is _defined_ in ZFC as
x = y :<->
Az:( z e x <-> z e y )
So, even though we see expressions in the language of
set theory with '=' in them all the time, the _answer_
to the question "What language is ZFC using?" does not
include "=". It's L('e'), just the one binary predicate,
like I said.
----
Your language description appears to need fixing.
I think I've mentioned this before, but it doesn't
seem to matter to you.
_As written_ , this parses as a sentence:
VARIABLE = VARIABLE
It's probably not what you intend. It's certainly not
an FOPL sentence.
Here is a language definition for set theory:
name
: 'x'
| 'y'
| 'z'
| name \'
;
formula
; '(' name 'e' name ')'
| '~' formula
| '(' formula '->' formula ')'
| 'A' name ':' formula
;
This is enough to define the rest of what we usually call
the language of set theory
Ex:P <def> ~Ax:~P
( P \/ Q ) <def> ( ~P -> Q )
( P /\ Q ) <def> ~( ~P \/ ~Q )
( P <-> Q ) <def> ((P -> Q) /\ (Q -> P))
( x sub y ) <def> Az:(( z e x ) -> ( z e y ))
( x = y ) <def> (( x sub y ) /\ ( y sub x ))
And so on.
If we give axioms and inference rules for that binary
predicate 'e', we will have _implicitly_ given axioms and
rules for all of these defined expressions, and much more.
It is in this "implicitly axiomatized" sense that we could
say we _understand_ something like the least upper bound
property of the set of real numbers, even though there
are many layers of definitions between L('e') and the
language which we would use to express the LUB property.
The expression of the LUB property can be _reduced to_ an
expression in L('e'), and we give rules and axioms for
manipulating expressions in L('e').
When Rupert asks you what your language is, he is asking you
for a list of symbols (the signature of the language) that
you will then give us the rules and axioms for using -- and
when you are done with that, you are done describing your
formal system. Anything you tell us after that will need to
be referred back to the language and rules and axioms you
have already told us. (Compare to how '=' gets referred
back to rules/axioms about the use of 'e'.)
----
To sum up:
What you have there is NOT a description of the language of
MTT that you would be willing to draw a line under and say
"Everything after this point will be translatable to what
we have above this line."
(I'm pretty sure about that, but if you think otherwise,
go ahead and say so. You'll be asked to _use_ that
definition, I hope you know.)
With this in mind for what I mean (and I'm pretty sure
Rupert means) by "definition of the language of MTT",
_what is your definition of the language of MTT_ ?
Pete Olcott wrote:
Specifying the arguments to Predicates and Functions will have its
own separate syntax. Square_Root("egg sandwich") will be rejected as
type mismatch error.
If, in first order logic, 'Square_Root' is a one-place function letter
and '"egg sandwich"' is an individual constant, then 'Square_Root("egg
sandwich")' is a constant term and it denotes an individual. If
'Square_Root' is a one-place predicate constant and '"egg sandwich"' is
an individual constant, then 'Square_Root("egg sandwich")' is a
sentence, though I suspect that you do not intend 'Square_Root' to be a
one-place predicate constant. 'Type mismatch error' is not something I
have come across in accounts of FOL: finite strings of symbols are
well-formed terms or formulae, or they are ill-formed. Function are
*total*.
I conclude that the syntax of MTT is *not* the syntax of FOL.
The language specification of Minimal Type Theory will be in the class of Meta-Languages that are capable of formally specifying every aspect of every relation between every element of the set of all things.
I
am planning on updating the language specification of MTT so
that it
will be capable of evaluating FOPL expressions.
By FOPL expression I mean that a
finite string is measured against the formal definition of the
class of FOPL languages and accepted or rejected on this basis.
Pete Olcott wrote:
Specifying the arguments to Predicates and Functions will have its
own separate syntax. Square_Root("egg sandwich") will be rejected as
type mismatch error.
If, in first order logic, 'Square_Root' is a one-place function letter
and '"egg sandwich"' is an individual constant, then 'Square_Root("egg
sandwich")' is a constant term and it denotes an individual. If
'Square_Root' is a one-place predicate constant and '"egg sandwich"' is
an individual constant, then 'Square_Root("egg sandwich")' is a
sentence, though I suspect that you do not intend 'Square_Root' to be a
one-place predicate constant. 'Type mismatch error' is not something I
have come across in accounts of FOL: finite strings of symbols are
well-formed terms or formulae, or they are ill-formed. Function are
*total*.
I conclude that the syntax of MTT is *not* the syntax of FOL.
One of the huge changes to MTT will be that type specification may
be optional in the same way that it is optional in FOPL, thus
enabling MTT to evaluate FOPL expressions.
'Type specification', optional or otherwise, is not something I
have come across in accounts of FOL.
Pete Olcott wrote:
Specifying the arguments to Predicates and Functions will have its
own separate syntax. Square_Root("egg sandwich") will be rejected as
type mismatch error.
If, in first order logic, 'Square_Root' is a one-place function letter
and '"egg sandwich"' is an individual constant, then 'Square_Root("egg
sandwich")' is a constant term and it denotes an individual. If
'Square_Root' is a one-place predicate constant and '"egg sandwich"' is
an individual constant, then 'Square_Root("egg sandwich")' is a
sentence, though I suspect that you do not intend 'Square_Root' to be a
one-place predicate constant. 'Type mismatch error' is not something I
have come across in accounts of FOL: finite strings of symbols are
well-formed terms or formulae, or they are ill-formed. Function are
*total*.
I conclude that the syntax of MTT is *not* the syntax of FOL.
One of the huge changes to MTT will be that type specification may
be optional in the same way that it is optional in FOPL, thus
enabling MTT to evaluate FOPL expressions.
'Type specification', optional or otherwise, is not something I
have come across in accounts of FOL.