Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

About building a "general logic based on computation"

28 views
Skip to first unread message

wij

unread,
Jan 21, 2024, 11:10:40 AMJan 21
to
I have just finished something like logic (first try, should be very
raw). Hope
this can help in dealing with several logical puzzle (e.g. Russell's
paradox), at least, in the moment.
Mostly, I would like to gather response form you to improve what
is typed, thank you.
----------------------------------------------------

Description::= Description is composed of a series of terms which are
composed
of discrete symbols. The form of description is indefinite, it can
be like
computer programs, mathematical expression,..,or the sentense in
this file.
Description associates to the object being described, called its
semantics.

Axiom0: Description and its semantics object are physical entities,
both occupy
different position in spacetime domain.

Axiom1: Description exists via manufraturing.

Ex: "A tree falls in a forest": This description must be made in
someone's
head. If no one is there, this description (and its object) is
a made up
in latter time (Thus, most of our knowledge are
archaeological).
Ex: "This sentence is false": Ans: Undecidable (borrow from Halting
Prolem
Theorem). Self-referential descriptions like this, including
"This
sentence is true", suffer from circular reasoning. Although the
latter
seems not to cause paradox.

Normalized Description::= A description of concated terms like
"P(a,b,..)" or
(P,a,b,..). Normalized description is like a natural sentence, but
all the
ingredient must be defined. Thus, the form is mostly regular.
The object of normalized description can be another description but
cannot
be the description itself (would cause circular reasoning). Thus,
from this
definition, we will have the chain "description ->
object(description) ->
... -> object(description) -> object". The last one is called a
terminal
description. Thus, for simplicity reasons, the description that has
no
object is also called a terminal description.

Substitute::= The term in a description that functions as a placeholder
for
another description or a parameter of the description. Thus,
substitute may
also be called as argument, parameter, or variable. In any
condition,
description that contain substitute are not terminal description.
(In
reality, terminal description may also has its object except such
object
is inexpressible).

Partial Solution::= Part of a whole solution.

Theorem: If a (whole) solution is built procedurally by accululating
parts, a
partial solution will appear in the process of creating the
solution.

+-------------+
| Proposition |
+-------------+
Proposition::= Any description that can be classified as true or false
(note
that true/false are arbitrary. This article is only concerned with
the
manipulation of symbols, not the attribution of true or false).
Proposition
can be any form of description as long as it can be classified as
true (T)
or false (F). Since we are more concerned with normalized
propositon, in the
formal presentation, some token should be added to indicate the
notion of
proposition, e.g. Prop(x,y,..).

Sometimes, descriptive proposition may be called as 'abstract
proposition'.
In contrast, the object of that description can be called the
object
proposition. If a descriptive proposition does not contain
substitute, it
can be called a terminal or atomic proposition.

+-------------------------+
| Creation of Proposition |
+-------------------------+
From Axiom1, proposition also exists via manufraturing (inversely,
proposition does not exist before manufratured).

From the observation of the descriptions we used, our knowledge can
all be
be called partial description. Such observation indicates that we
should
add procedure into 'description'. If so, the most suitable choice
of the
language for procedure should be C++, because it has the concept of
'object' and 'construction'(manufacture). Therefore, the following
article,
pseudo-C++ will be used in the sense of computation theory.

+-----+
| Set |
+-----+
Substitute in normalized description is often the substitute of the
element
of a set, e.g. the n in Prop(n∈ℕ).
Set is often expressed by using proposition, and is often defined
in way of
procedural description like the example in Peano Axioms.

+------------------------+
| Procedural Proposition |
+------------------------+
Procedural Proposition::= Proposition whose semantics is a program,
e.g.
decision function.

Postulate: Precedure is the only way to express infinite instances.

+---------------+
| Some examples |
+---------------+
Prop(∀x,P(x))::= P(x1)∧P(x2)∧..∧P(xn) (x∈{x1,x2,..})
Equ. to "∀xP(x)" in many books. If defined in Pseudo-C, then:
bool f() {
for(int x=1; x<=S.size(); ++x) {
if(P(x)==false) {
return false;
}
}
return true;
};
Universal quantifier itself is also a proposition, therefore, from
definition, its negation exists:
~Prop(∀x,P(x))= ~(P(x1)∧P(x2)∧..∧P(xn)= ~P(x1)∨~P(x2)∨..∨~P(xn)∨
= Prop(∃x,~P(x))

Prop(∃x,P(x))::= P(x1)∨P(x2)∨..∨P(xn) (x∈{x1,x2,..})
Equ. to "∃xP(x)" in many books. If defined in Pseudo-C, then:
bool f() {
for(int x=1; x<=SetX.size(); ++x) {
if(P(x)==true) {
return true;
}
}
return false;
};
Existential quantifier itself is also a proposition, therefore,
from
definition, its negation exists:
~Prop(∃x,P(x))= ~(P(x1)∨P(x2)∨..∨P(xn))= ~P(x1)∧~P(x2)∧..∧~P(xn)
= Prop(∀x,~P(x))

Prop(∃x,∀y,P(x,y))::= Prop(∀x,Prop(∃y,P(x,y))) // Concatenation:
∃x∀y:P(x,y)
= (P(x1,y1)∧P(x1,y2)∧..∧P(x1,yn))∨
(P(x2,y1)∧P(x2,y2)∧..∧P(x2,yn))∨
...
(P(xn,y1)∧P(xn,y2)∧..∧P(xn,yn))

From procedual definition:
  bool f() {
for(int x=1; x<=SetX.size(); ++x) {
for(int y=1; y<=SetY.size(); ++y) {
if(P(x,y)==false) {
break;
}
}
if(y>=SetY.size()) {
return true;
}
}
return false;
}

"∃x∀y:P(x,y)" itself is also a proposition, therefore, from
definition, its
negation exists: ~(∃x∀y:P(x,y))
= (~P(x1,y1)∨~P(x1,y2)∨..∨~P∨(x1,yn))∧
(~P(x2,y1)∨~P(x2,y2)∨..∨~P∨(x2,yn))∧
...
(~P(xn,y1)∨~P(xn,y2)∨..∨~P∨(xn,yn))
= Prop(∃y,~P(x1,y))∧
Prop(∃y,~P(x2,y))∧
...
Prop(∃y,~P(xn,y))∧
= Prop(∀x,Prop(∃y,~P(x,y))) = (∀x,∃y,~P(x,y))

Prop(∀x,∃y,P(x,y))::= Prop(∀x,Prop(∃y,P(x,y))) // Concatenation:
∀x∃y:P(x,y)
= (P(x1,y1)∨P(x1,y2)∨..∨P(x1,yn))∧
(P(x2,y1)∨P(x2,y2)∨..∨P(x2,yn))∧
...
(P(xn,y1)∨P(xn,y2)∨..∨P(xn,yn))

From procedual definition:
  bool f() {
for(int x=1; x<=SetX.size(); ++x) {
for(int y=1; y<=SetY.size(); ++y) {
if(P(x,y)==true) {
break;
}
}
if(y>=SetY.size()) {
return false;
}
}
return true;
}

"∀x∃y:P(x,y)" itself is also a proposition, therefore, from
definition, its
negation exists: ~(∀x∃y:P(x,y))
= (~P(x1,y1)∧~P(x1,y2)∧..∧~P(x1,yn))∨
(~P(x2,y1)∧~P(x2,y2)∧..∧~P(x2,yn))∨
...
(~P(xn,y1)∧~P(xn,y2)∧..∧P~(xn,yn))
= (∃x,∀y,~P(x,y))
-----------------------------------------------------------------------
------


wij

unread,
Jan 21, 2024, 2:15:22 PMJan 21
to
+-------------------------------+
| Aux. explanation in Paradoxes |
+-------------------------------+
These are some explanation for paradoxes commonly seen (in *THIS
logic).

pseudo-Zeno Paradox: "While shooting the target, the arrow will pass
infinite
number of points,..., the arrow won't hit the target".
Ans: Correct. Because the *problem statement* says so. From the
problem
statement, the arrow is always at the position before the target.
The
premise does not contain the information of "hitting the target",
no valid
logic can lead to conclude "hit the target" is true. Basically,
this
paradox has nothing to do with physics. (If related to the physical
reality,
"pass infinite number of points" might not be true)

Note: Zeno Paradox has many versions. Like all paradoxes, the real
answer
depends on (formal) modeling.
Note: 1+1/2+..+1/2^^∞≈2
(https://sourceforge.net/projects/cscall/files/MisFiles/NumberView-zh.txt/download
)

Rabbit Can't Outrun Turtle: Ans: Similar to the above. (some version
actually
contains two premises)

Supertask: Ans: NoSolution. The reason is similar to the above: The
information
in the problem statement does not contain the condition at T1.

Liar's Paradox: (Alread memtioned)

Halting Paradox: Depend on modeling.
-------------------------------------------------------------------

wij

unread,
Jan 24, 2024, 4:27:39 AMJan 24
to
+-----------------------------------------------------+
| How to decide a given 'number' is a natural number? |
+-----------------------------------------------------+
From Peano Axioms, natural number is a set of symbols defined by a
successor
function S:

1. 0∈ℕ
2. n∈ℕ => S(n)∈ ℕ

Put in preciser notation, ℕ<1,S>, where, 1 is the initial element, S
the
successor function. The numbers in ℕ<7,S> (for example, 7, S(7),
SS(7),...)
forms the set of number called base-1 number (system). For the ones
normally
used, base-n (n>=2), an additional mapping procedure is needed, not to
mention
sets like {1,3,5,..}, {2,4,6,..}, or {banana, potato,...}.

So the real meaning of ℕ is really a set that contains many sets (as
shown)
of which the element also may be called the set of natural number.

"Is 0.999... a number?" is not a trivial question, but we start from
the
basic: Is 'x' a natural number?

bool isN(x) {
if(x is not a 'number') return false; // a decision whether x is
valid is needed
if(x==0) return true; // a compare function is needed
return isN(S(x));
};

All these indicate that natural number ℕ is not really that simple as
depicted
by Peano Axioms which lots of theories depend on. And, more, many
'logic' may
assume statement of sets satisfies the 1,2 steps above is enough to
prove
equivalent to ℕ, But not really, because there is a condition: The
steps
must be finite, like the dense property of rational number and real
number
are actually in two different context: the dense property (procedure)
for the
former must terminate, the latter must not. So, an ambugious concept
is there.


+------------------------------+
| How to prove ∀n∈ℕ<0,S>,P(n)? |
+------------------------------+
Theorem: ∀n∈ℕ<0,S>,P(n) <=> P(0) ∧ P'(S(n))

P'(S(n))::= A proposition formed by replacing n in P with "S(n)"
The difference of P'(S(n)) and P(S(n)) for most people are just
swapping
*symbols*.

The semantics of "∀n∈ℕ<0,S>,P(n)" in pseudo-C:
for(n=0;;n=S(n)) {
if(P(n)==false) return false;
}
return true; // UNREACHABLE
This procedural interpretation has a flaw: When the number of object
proposition is infinte, reasoning is difficult. This theorem converts
such
proposition to two 'finite' propostion.

Proof: Omitted (This theorem can be proved by the idea from
mathematical
induction but would be unnecessarily long).

Ex: Prove ∀n∈ℕ<1,S>, 1+2+3+...+n= n(n+1)/2
1. P(1): 1= 1(1+1)/2=1 // initial condition
2. P'(S(n))= 1+2+...+S(n)= S(n)*(S(n)+1)/2 // based on symbol
processing
= P(n)+S(n)= (n+1)(n+2)/2= n(n+1)/2 + S(n)
= P(n)= (n+1)(n+2)/2= n(n+1)/2 // P(n) assumed true in
premise

Ex: ∀n∈ℕ<0,+>, 7|8^n+6
1. P(0): 7|8^0+6
2. P'(S(n)): 7|8^(n+1)+6
7|(7*8^n)+8^n+6 // 8^n+6 assumed true in premise


wij

unread,
Jan 27, 2024, 1:40:14 AMJan 27
to

Some errors corrected, esp. in the last post. The updated version can
be downloaded from:
https://sourceforge.net/projects/cscall/files/MisFiles/logic_en.txt/download

+------------------------------------+
| General logic based on computation |
+------------------------------------+

Description::= Description is composed of a series of finite terms
which are
composed of discrete symbols. The form of description is
indefinite, it can
be like computer programs, mathematical expression,..,or the
sentense in
this file. Description associates to the object being described,
called its
semantics, i.e. description usually comes in pairs.

Axiom0: Description and its semantics object are physical entities,
both occupy
different position in spacetime domain.

Axiom1: Description exists via manufraturing.

Ex: "A tree falls in a forest": This description must be made in
someone's
head. If no one is there, this description (and its object) is
a made up
in latter time (Thus, most of our knowledge are
archaeological).
Ex: "This sentence is false": Ans: Undecidable (borrow from Halting
Prolem
Theorem). Self-referential descriptions like this, including
"This
sentence is true", controdict Axiom0 (known as circular
reasoning).
Although the latter seems not to cause paradox.

Normalized Description::= A description of concated terms like
"P(a,b,..)" or
(P,a,b,..). Normalized description is like a natural sentence, but
all the
ingredient must be defined. Thus, the form is mostly regular.
The object of normalized description can be another description but
cannot
be the description itself (would cause circular reasoning). Thus,
from this
definition, we will have the chain "description ->
object(description) ->
... -> object(description) -> object". The last one, having no
object, can
also be called a terminal description for simplicity reasons (this
assume
that the chain must terminate).
formal presentation, adding some token to indicate the notion of
proposition
might be necessary, e.g. (x,y,(..),..) or Prop(x,y,Prop(..),..).

Sometimes, descriptive proposition may be called as 'abstract
proposition'.
In contrast, the object of that description can be called the
object
proposition. If a descriptive proposition does not contain
substitute, nor
operators, it can be called a terminal or atomic proposition.

Note: Propositions can be said in 'contingency' status.
https://en.wikipedia.org/wiki/Contingency_(philosophy)

+-------------------------+
| Creation of Proposition |
+-------------------------+
From Axiom1, proposition also exists via manufraturing (inversely,
proposition does not exist before manufratured).

From the observation of the descriptions we used, our knowledge can
all be
called partial description. Such observation indicates that we
should
add procedure into 'description'. If so, the most suitable choice
of the
language for procedure should be C++, because it has the concept of
'object' and 'construction'(manufacture). Therefore, the following
article
will use pseudo-C/C++ in the sense of computation theory.

+-----+
| Set |
+-----+
Substitute in normalized description is often the substitute of the
element
of a set, e.g. the n in Prop(n∈ℕ).
Set is often expressed by using proposition, and is often defined
in way of
procedural description like the example in Peano Axioms.

+------------------------+
| Procedural Proposition |
+------------------------+
Procedural Proposition::= Proposition whose semantics is a program,
e.g.
decision function.

Postulate: Precedure, composed of finite symbols, is the only way to
+---------------------+
| Paradox Explanation |
+---------------------+
These are some explanations for paradoxes commonly seen (in *THIS
logic).

Pseudo-Zeno Paradox: "While shooting the target, the arrow will pass
infinite
number of points,..., the arrow won't hit the target".
Ans: Correct. Because the *problem statement* says so. From the
problem
statement, the arrow is always at the position before the target.
The
premise does not contain the information of "hitting the target",
no valid
logic can lead to conclude Prop("hit the target") is true.
Basically, this
paradox has nothing to do with physics. (If related to the physical
reality,
"pass infinite number of points" might not be true)

Note: Zeno Paradox has many versions. Like all paradoxes, the real
answer
depends on modeling.
)

Rabbit Can't Outrun Turtle: Ans: Similar to the above. (some version
actually
contains two premises)

Supertask: Ans: NoSolution. The reason is similar to the above: The
information
in the problem statement given does not contain the information at
T1.

Liar's Paradox: Ans: Undecidable (as memtioned).

Halting 'Paradox': Depend on modeling. A couple I know about are not
the
'Halting Problem'.

Russell's paradox: The semantics of "x∈x" leads to circular reasoning.
(I don't know what that "x∈x" was originally really meant)

+-----------------------------------------------------+
| How to decide a given 'number' is a natural number? |
+-----------------------------------------------------+
From Peano Axioms, natural number is a set of symbols defined by a
successor
function S:

1. 1∈ℕ
2. n∈ℕ => S(n)∈ ℕ

Put in preciser notation, ℕ<1,S>, where, 1 is the initial element, S
the
successor function. For example, the numbers in ℕ<7,S> (7, S(7),
SS(7),...)
forms the set of number called base-1 number (system). For the ones
normally
used, base-n (n>=2), an additional mapping procedure is needed, not to
mention
sets like {1,3,5,..}, {2,4,6,..}, or {banana, potato,...}.

So the real meaning of ℕ is really a set that contains many sets (as
shown)
of which the element also may be called the set of natural number, all
depend
on the successor generator.

"Is 0.999... a number?" is not a trivial question, but we start from
the
basic: Is 'x' a natural number?

bool isN(x) {
if(x is not a 'number') return false; // a decision whether x is
valid is needed
for(n=0;; n=S(n)) {
if(equal(x,n)) return true; // a compare function is needed
}
return false; // UNREACHABLE
};

All these indicate that natural number ℕ is not really that simple as
depicted
by Peano Axioms which lots of theories depend on. And, more, many
'logic' may
assume statement of sets satisfies the 1,2 steps above is sufficient
to prove
equivalent to ℕ, But not really, because there is a condition: The
steps (of
argument) must be finite, like the dense property of rational number
and real
number are actually interpreted in two different context: the dense
property
(procedure) for the former must terminate, the latter is infinite. So,
an
ambugious concept is there.

Set like ℕ<1,S> forms the basis of many infinite things. One of the
thing to
note is that S is better called a 'generator', because the element
does not
exist before generated, referring to non-existed element might be
invalid.

+-------------------------------------------------------+
| How to prove ∀n∈ℕ<0,S>,P(n)? (Mathematical Induction) |
+-------------------------------------------------------+
Assume the Peano Axiom describes the construction of a set of natural
number,
then:

ℕ<0,S>() : arr() { // ctor of class N<0,S>
arr << 0; assert(P(0)); // 0∈ℕ
for(;;) {
arr << S(arr.back()); assert(P(S(n))); // n∈ℕ => S(n)∈ℕ
(simplified)
}
// UNREACHABLE (might be fine. We won't encounter 'n' not
generated)
}

Notice that there are two places that state the qualified element in
ℕ<0,S>,
we just need to assert those added elements satisfy P, i.e. P(0) and
P(S(n)),
then, we are assured all the elements in ℕ<0,S> satisfy P.
-------------------------------------------------------------------


Mikko

unread,
Jan 27, 2024, 4:49:20 AMJan 27
to
On 2024-01-21 16:10:34 +0000, wij said:

> I have just finished something like logic (first try, should be very
> raw). Hope
> this can help in dealing with several logical puzzle (e.g. Russell's
> paradox), at least, in the moment.
> Mostly, I would like to gather response form you to improve what
> is typed, thank you.
> ----------------------------------------------------
>
> Description::= Description is composed of a series of terms which are
> composed
> of discrete symbols. The form of description is indefinite, it can
> be like
> computer programs, mathematical expression,..,or the sentense in
> this file.
> Description associates to the object being described, called its
> semantics.
> Axiom0: Description and its semantics object are physical entities,
> both occupy
> different position in spacetime domain.

You should start with more fundamental concepts before you introduce
"description". Description is a character string so you should start
with "character" or "string".

> Axiom1: Description exists via manufraturing.
> Ex: "A tree falls in a forest": This description must be made in
> someone's
> head. If no one is there, this description (and its object) is
> a made up
> in latter time (Thus, most of our knowledge are
> archaeological).
> Ex: "This sentence is false": Ans: Undecidable (borrow from Halting
> Prolem
> Theorem). Self-referential descriptions like this, including
> "This
> sentence is true", suffer from circular reasoning. Although the
> latter
> seems not to cause paradox.

Before any axioms you should introduce the concepts that used in
axioms. Usually "exists" comes from logic but if you are creating
a new system of logic you cannot use that.
Mikko

wij

unread,
Jan 27, 2024, 6:00:35 PMJan 27
to
'description' (whatever it is), is actually not definable as a basic
term. It can be described, though. I used 'term', but did not describe
what it is. In general, many things used in 'general logic' are not
clearly specified, e.g. This 'general logic' is based on many that
can be find in "Boolean Algebra"
https://en.wikipedia.org/wiki/Boolean_algebra

If "character" is used as the basic, I am afraid, "description" will be
about a collection of characters, nothing else. And this part is
already well described by "formal language". That is what I thought.

> > Axiom1: Description exists via manufraturing.
> >        Ex: "A tree falls in a forest": This description must be
> > made in
> > someone's
> >         head. If no one is there, this description (and its object)
> > is
> > a made up
> >         in latter time (Thus, most of our knowledge are
> > archaeological).
> >     Ex: "This sentence is false": Ans: Undecidable (borrow from
> > Halting
> > Prolem
> >         Theorem). Self-referential descriptions like this,
> > including
> > "This
> >         sentence is true", suffer from circular reasoning. Although
> > the
> > latter
> >         seems not to cause paradox.
>
> Before any axioms you should introduce the concepts that used in
> axioms. Usually "exists" comes from logic but if you are creating
> a new system of logic you cannot use that.

But where is the "exist" in the logic you said from? 
(I am already defining some kind of logic)
0 new messages