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.
-------------------------------------------------------------------