« first day (410 days earlier)      last day (2701 days later) » 

00:16
so somehow your elements are distinguishable (having an order) and indistinguishable (having the same label)
00:26
Hey, how are you, guys?
SimplyBeautifulArt recommends me to post my following logic question here. Here it goes. How does one translate a question into a logical expression? For example, a question could be "Is 1+1 equal to 2 or 7?".
@Hans I don't really think you can do it
logical statements are either true or false
you might want to have two statements P:"1+1=2" and Q:"1+1=7" and inquire about their truthfulness
OK.
 
5 hours later…
05:28
@LeakyNun That's why I said labelled linear orders. This is a very common notion in logic. As I said, an ordinary linear order is simply a binary predicate on a set, and there is internally nothing to distinguish one item from another unless they have different 'neighbourhoods'. For example, in a typical introductory course one would encounter the fact that any two countable dense linear orders without endpoints are isomorphic.
However, it's totally different once you add labels, because then when we say "isomorphic" we mean that the isomorphism must respect labels too.
@LeakyNun Actually I didn't define L to just have countable labelled linear orders, because the axioms actually hold for all labelled linear orders. But in ZFC my idea of L does not exist as a set, even though it exists as a definable collection. So I should indeed restrict L to countable labelled linear orders modulo isomorphism, with + meaning concatenation.
@Mathmore: See my last comment; I need to be more careful if I want my claims to be provable in ZFC. =)
@LeakyNun You are right that there is no way in general to write linear orders down, even if they are countable. After all, every real number in [0,1) would correspond to some countable linear order with the labels taken from the binary expansion. We sure can't write all of them down. I just gave you a few as examples.
@LeakyNun Order does not necessarily distinguish items, as you can see in the typical example of countable dense linear orders without endpoints. In some cases, you can distinguish items based on their neighbourhoods. I can give you a few examples to help your intuition.
(0,0,0,...): Every item is uniquely identified by the number of items before it. So any two items are distinguishable.
(...,0,0,0,...): There is no way to distinguish any two items because there is an isomorphism that 'shifts' the whole thing.
(...,0,0,1,0,0,...): This is exactly like the previous one except a single item is labelled 1. Now each item is uniquely identified by the directed distance from it to the 1-labelled item. So any two items are distinguishable.
(0,0,0,...)+(...,1,1,1,...): Given any two items x,y, if x,y are both in the first part then they are distinguishable. If exactly one of x,y is in the first part, then they are distinguishable too, because one has finitely many before it while the other has infinitely many before it. But if x,y are both in the second part then they cannot be distinguished.
(...,0,1,0,1,0,...): Here the items are alternately labelled 0 and 1. It should be clear that any two items can be distinguished iff they have the same label.
Rationals Q with integers labelled 0 and non-integers labelled 1: Trivially items with different labels can be distinguished. If you understood the previous examples, you can see that items with the same label cannot be distinguished. (Exercise for you!)
05:55
Before we continue this discussion, I want you to tell me the "correct" way that you were going to say yesterday. @user21820
Also I want to know which particular area in logic we are exploring?
@Hans Yup feel free to ask such questions here. As @LeakyNun said, in most logic systems statements are considered to have a truth-value (at least when evaluated with respect to a structure). Questions cannot be translated because logic systems are not designed to be able to express them. They were designed to help us answer our questions, not ask. =)
@Mathmore It's called proof theory. Though at the end when I built a model of the axioms that does not satisfy cancellation it could be considered model theory.
@user21820 What does proof theory study?
Formal systems, what they can prove, and how they are related. =)
@Mathmore The correct way is that if we want "P⇒Q" to be such that whenever we have deduced "P" and "P⇒Q" we can deduce "Q", then we had better assign the truth-table to "⇒" as we currently do, to ensure that our system is sound (does not prove false statements).
Please elaborate more
about $p \implies q$
I must say that this explanation is of a proof-theoretic nature, and may not be satisfying, because the next natural question is "Why must we want this thing (which we call modus ponens)?" and there is no non-circular answer based on this explanation alone. But I will still explain it in detail now.
06:02
Sure
We call this rule modus ponens, and we wish to define semantics (meaning) of "⇒" as a binary boolean operation, so that modus ponens is sound.
So we have 4 possible inputs to "⇒" and we need to decide the outputs.
okay
One trivial way is to make the output always false for all inputs.
That way, if our system is sound then it will never deduce "P⇒Q" and so we never can apply modus ponens and so it is sound (vacuously).
Another way is to make the output of (P⇒Q) equal to the second input Q, ignoring the first input.
That way, whenever we have deduced "P⇒Q" it is indeed sound to deduce "Q".
Both of these ways are intuitively 'useless'. But why exactly?
The reason is that we want implication to capture more than just modus ponens.
We can't (because of incompleteness theorems) define "P⇒Q" to mean "if can deduce P then can deduce Q". But what we can do is to define it to mean "under assumption that P is true, it is necessarily the case that Q is true".
If this looks too similar to the usual definition of implication, that's because it essentially is the only way.
But "if can deduce P then can deduce Q" and "under assumption that P is true, it is necessarily the case that Q is true" are totally different statements.
Exactly. They are totally different, which is why it is a rather unpatchable error.
The thing is that the correct way naturally fits in with Fitch-style proofs and modus ponens provides the other 'half'.
Let me be more precise.
06:14
But what I explained to class was we can start from a false statement, apply logical reasoning then we can arrive at either a true statement or a false statement.
Okay.
I am going off. Got to do some work. See you later.
I know that. But as I explained it's dangerously wrong to associate deduction with semantics.
@Mathmore I'll see you later then.
In this specific explanation, when we say that "P implies Q" means "under assumption that P is true, it is necessarily the case that Q is true", we are not insisting that "P implies Q" is true when the latter is true. We are just saying that we will allow you to claim "P implies Q" whenever you have shown the latter. Modus ponens allows you to claim "Q" whenever you have shown both "P" and "P implies Q". If you want these together, the truth-table for "implies" is forced.
This kind of explanation is difficult to do right, and difficult for students to truly grasp, so I really suggest sticking to the two usual concrete semantic explanations, namely promises and program conditionals.
@user21820: Thank you for the answer. It is very clear.
@Hans: You're welcome!
@Hans: Any other questions? =)
@user21820: You read my mind. Here is one that must be trivial for you.
I need a bit time to organize my question... Sorry.
06:34
@Hans No problem. By the way your convergence questions were quite interesting to me too! =)
Oh, thank you, @user21820. Are you referring to math.stackexchange.com/q/2424908/64809 and the related convergence acceleration question?
Yes I had always wondered whether there was a systematic way to ensure fast convergence with functional iteration. I even asked a question before:
1
Q: Solving equations like $xe^x = c$ via functional iteration

user21820Yesterday I randomly thought of solving $xe^x = c$ via functional iteration (FI) after manipulating the equation into a form "$x = \cdots$" that gives the 'fastest' convergence rate regardless of the starting estimate. I found by intuition-guided trial and error that the equation $x = ( c x^r e^...

But the answerer said that there's no systematic way.
I guess I might as well accept the answer, unless you can come up with a better one? =D =D
@Hans: Anyway, give me your logic question first. =)
That is an intriguing question. I will read it later. There are so many interesting things around, but not enough time. :-( I will get back to my logic question...
07:00
Never mind. I have decided it is a trivial question, even for me. :-P
@user21820
Lol okay! =)
@user21820. Thank you any way. ;-)
Maybe this logic room has a nice ambience. =)
Very likely. Conducive to clear logical thoughts. ;-)
07:59
@user21820 Because shifting by 1 is an isomorphism
@LeakyNun That's for the integers, yes. But what about the non-integers?
@user21820 those are segments of countable dense linear order without endpoint
Yeap. That's great!
So do you get how L is a model of those axioms now?
could you do a formal construction?
Okay sure.
A countable binary labelled linear order (CBLLO) is a relation < on a subset S of N that satisfies reflexivity and transitivity and anti-symmetry plus a binary labelling of S (namely a function from S to {0,1}). Let C be the set of all CBLLOs. Given any X,Y in C, we define X~Y iff there is an isomorphism from X to Y (namely a bijection f from X to Y such that for any a,b in X we have f(a).label = a.label and ( f(a) < f(b) iff a < b )). Then ~ is an equivalence relation on C.
08:11
@user21820 you meant <=
@LeakyNun We can define < given ≤ or vice versa, so we just use whichever we like.
@user21820 but the convention is that < is not reflexive :)
Oh lol!
Then okay my definition doesn't follow convention. Anyway you know that's not important.
and then we are considering the set C/~?
Given any G,H in C/~ define G+H = { X+Y : X/~ = G and Y/~ = H }. Then you can prove that G+H is a member of C/~. So now L is C/~ with the + we have just defined on it.
If you're lazy to think in terms of equivalence classes (like me), then just think in terms of the original CBLLOs and show that the axioms hold if you interpret "=" as "~", and then apply the general theorem that you can mod out ~ to get a first-order model as long as + respects ~.
08:19
could you regurgitate the four axioms?
You can click "load older messages". That's what I would do anyway.
I'm too lazy
Next time if you want to keep something you should copy it somewhere else. Chat search is currently broken so if it's too far back I won't bother to find it for you.
(1) ∃e ∀x ( x+e = x = e+x ).
(2) ∀x,y,z ( (x+y)+z = x+(y+z) ).
(3) ∃x,y ( x≠y ∧ ¬∃u,v ( u≠e ∧ v≠e ∧ ( x=u+v ∨ y=u+v ) ) ).
(4) ∀a,b,c,d ( a+b = c+d ⇒ ∃x ( a+x=c ∧ b=x+d ∨ a=c+x ∧ x+b=d ) ).
thanks
so, what's the next step in our journey?
Hey chat search works again!
08:22
lol
Anyway, it shows that very little axioms are needed to get something essentially incomplete, which generalized means that any formal system that uniformly interprets it is doomed to incompleteness.
If you buy those 4 axioms (plus the implicit closure under +) then incompleteness comes.
could you define incomplete w.r.t models?
In classical logic no. Every sentence is either true or false in any given model of a classical formal system.
but incomplete is something that is true but not provable?
No that's not the meaning of "incomplete"...
08:26
so what is it?
You already gave the correct definition earlier for classical first-order theories.
Namely the theory does not prove or disprove some sentence.
In general formal systems we do not necessarily have a notion of negation.
So we could simply restrict to the arithmetic fragment.
We always use an MS that has a model of (classical) PA, and so we can call a formal system incomplete if it cannot prove the translation of some arithmetical sentence and cannot prove the translation of its negation.
that's a weird definition of incomplete
I prefer to say "arithmetically-incomplete" to avoid conflict with convention.
It's all that matters anyway.
08:31
yes but it looks like it depends on a translation of arithmetic sentences
Because if you can't even decide all arithmetical/string sentences then you can't claim to have a 'complete' foundation for number theory, much less mathematics.
instead of the system per se
and it's incomplete w.r.t the translation, not the system itself
so the objections stand
@LeakyNun You concern here is correct, but the objections do not stand. Because the incompleteness theorem applies to any uniform translation. So the only way to escape is to have a formal system that does not even have a single translation function that allows you to do classical reasoning about arithmetic/strings.
In that case, it can't count as a foundation for elementary number theory.
@user21820 but it's only the translation that is incomplete; the system itself is complete
[because negation isn't even defined]
You're missing the point here. Any such system cannot be used by you to do number theory.
Once you can do elementary number theory within the system, it very clearly means you have a uniform computable translation of PA into that system.
And then the incompleteness theorems apply.
If you object to number theory, then the strings version shows you also have to object to being able to do reasoning about finite strings in that system.
Basically, your system must be quite useless for it to escape incompleteness.
(useless as foundational)
Th(C) is complete and even decidable.
08:37
so it's number theory that is incomplete, not the system
You could say so, but no mathematician wants to give up elementary number theory.
Hilbert for sure didn't.
(Except ultra-finitists. But then they have a more serious problem with their beliefs.)
lol
so could you continue where you left off with diagonalization?
Well Y as I defined is a fixed point combinator.
Search for "diag" to find it.
18 hours ago, by user21820
Let diag = ( f ↦ ( x ↦ f( t ↦ x(x)(t) ) ) ). Intuitively diag(f) returns a program that takes input x and applies f to a program that behaves exactly like x(x) would. Here any string can be interpreted as a program and run on any string including itself.
18 hours ago, by user21820
Let Y = ( f ↦ diag(f)(diag(f)) ).
Then (since you know lambda calculus) it shouldn't take long to prove that Y(f) has the same behaviour as f(Y(f)) for any program f.
And Y(f) is an actual program.
So Y(f) is quite a fixed-point of f.
08:43
"it shouldn't take long" yeah right alpha reduction doesn't work
beta*
Just continue expanding Y(f) until it becomes similar to f(Y(f)).
I cannot remember the names so don't ask me. I just use common sense.
beta reduction is just expanding
lol I can't expand it
What? Why not? Y(f) = ( x ↦ f( t ↦ x(x)(t) ) )(diag(f)) = ?
f( t ↦ diag(f)(diag(f))(t) )
Oh I see. You need extra conditions on f for this combinator to work.
08:51
hmm?
Wait let me think.
Well the easy solution is that ( t ↦ diag(f)(diag(f))(t) ) is the fixed-point we want, but I remember there was a particular variant of the combinator that made it come out correct immediately...
The odd thing is that this issue won't matter in our case, because the idea is to carry out Y in logic form and apply it to ( Q ↦ (⬜Q⇒P) ).
09:34
@user21820 hmm
lemme try to regurgitate a classical proof from my head
Let B1(n) be the first number that codes for a formula with one free variable
and B2(n) etc
but then Bn(n) is also a formula
let it be Bk(n)
yadda yadda
consider Bk(k)
I kind of forgot the proof
I’m supposed to consider neg Bn(n) instead
let Bk(n) = neg Bn(n)
 
1 hour later…
10:51
oh I just looked at the paper
they used Bk(n) = neg provable Bn(n)
 
2 hours later…
12:23
Not sure what you mean by "first number that codes".
 
1 hour later…
13:27
@Hans Lol, I tried to help
13:50
@SimplyBeautifulArt: You did help.
8 hours ago, by user21820
@Hans Yup feel free to ask such questions here. As @LeakyNun said, in most logic systems statements are considered to have a truth-value (at least when evaluated with respect to a structure). Questions cannot be translated because logic systems are not designed to be able to express them. They were designed to help us answer our questions, not ask. =)
14:30
@user21820 Godel coding
Oh. I would phrase it as "code of the first formula..."
ok
is B expressible in first order?
That is the main contribution of Godel. It is also a technical detail that is only necessary when the formal system under study merely interprets arithmetic. It's not needed if the formal system can manipulate strings.
Suggest me some introductory book on proof theory.
@LeakyNun Which books did you refer to?
@Mathmore If you already know basic first-order logic (meaning familiar with at least one deductive system), you can read Peter Smith's Godel without tears. I first learned the incompleteness theorems from there.
7
A: What are the prerequisites for studying mathematical logic?

user21820I think for starting material you can't beat P.D. Magnus' book forall x, which clearly explains the intuitions behind logic culminating in Fitch-style natural deduction. (I described a programming-inclined variant here.) After that you can read Stephen Simpson's Mathematical Logic lecture notes a...

14:44
Great! thanks...
You can skim through forallx to revise basic first-order logic.
Peter does pretty much similar to what I'm doing, just in the context of arithmetic rather than strings, as is conventional in many textbooks.
Yeah I don't know first order logic...
okay good
@Mathmore I don’t
@LeakyNun then how? Youtube videos? online blogs?
@Mathmore @LeakyNun: Note that since Peter wants to achieve Godel's original result (for arithmetic), there are a lot of technical detours such as primitive recursive functions and representability in arithmetic. That's the main reason I want to focus on systems that can do reasoning about strings rather than natural numbers.
Because ultimately those detours aren't the key issue.
14:50
@Mathmore here :) and searching online
Okay
downloaded GWT @user21820
@Mathmore prover9 is great if you want to get experimental
prover9 ?
google it
Yup googled
14:53
If you both want to continue, we are nearly done proving the incompleteness theorem and much more, because the modal fixed point lemma is the key to all the variants of the incompleteness theorems.
Okay what's the modal fixed point lemma?
Remember in Curry's paradox we had a strange premise ( Q equiv ( box Q implies P ) ).
Yupp
I claimed that we can for any sentence P construct such a Q that we can prove this premise.
15:04
The modal fixed point lemma says that in general we have the following:
(F) Given any 1-propositional-parameter sentence P over T such that every occurrence of the parameter in P is bound by some □, there is a sentence Q over T so that T⊢Q↔P(Q).
(F) means?
Fixed point lemma
Okay
We had (D1) to (D3). (F) is the last ingredient.
cool
15:05
Here we are talking about the 1-parameter sentence ( Q ↦ ⬜Q ⇒ P ).
Does 1-propositional-parameter is same as predicate?
And what is T?
Well it's like a predicate but not for objects. The missing parameter is not an object but a proposition.
Sorry I copied from a post. T is the system in question.
Here it should be FM.
Okkay
We want essentially a fixed point of ( Q ↦ ⬜Q ⇒ P ). Of course there is no literal fixed-point, because the sentence on the right is longer than the one on the left. But what we need is that both are provably equivalent.
That's why it's called fixed point lemma.
"⬜" is called a modal operator.
Hello.
15:10
@PhysicsGuy: Hello!
Why does this room exist?
@PhysicsGuy Why you exist? Why universe exists?
The last time I've been here at MSE, this room hasn't existed yet.
@PhysicsGuy Read the room description first.
I see.
Fascinating.
What have you been talking about before I came in?
15:13
@user21820 I think I have lost it all. I didn't get motivation for the yesterdays discussion. :(
You're welcome to join in discussion of (mathematical) logic here. We were going through the incompleteness theorem.
I must study GWT and forallx to really enjoy this discussion!
@Mathmore It's natural to find it difficult. I tried my best to simplify as much as possible, but there's a limit. Also, it may help to realize that it is typical for an entire 1-semester graduate course to be dedicated to reaching the incompleteness theorems.
Oh I see.
As I said, I really should have done the non-constructive version first as it is very much simpler and would have been illuminating already.
But let's just finish this first.
15:18
Maybe because I didn't try my hand on problems of this topic or I am not involved actively in it. For example I have solved many problems(in curriculum)in real analysis, topology, abstract algebra so I can easily understand what someone is saying in those fields. But here I am feeling pain to understand.
Okay go on...
First some preliminaries. We say that s is a 1-parameter sentence about strings if it is of the form ( x ↦ ... ) where the "..." is a valid sentence about strings in the context where the variable x is a string. For example ( x ↦ ∃y ( x=y+y ) ) is a 1-parameter sentence about strings. Given any 1-parameter sentence s and string t, let s(t) be the sentence obtained by substituting t for the parameter in s. If s = ( x ↦ ∃y ( x=y+y ) ) then s("0101") = ∃y ( "0101"=y+y ).
okay...
Now we have the 1-propositional-parameter sentence F = ( Q ↦ ⬜Q ⇒ P ). The idea is to let R = ( x ↦ F(x(x)) ). Now R as written is not actually a sentence over FM, because we only had string concatenation so we don't have this marvelous "F(x(x))" syntax.
But let us see what happens if we can obtain such an R (equivalently).
Then R(R) is a sentence about strings.
Let's expand to see what R(R) is.
R(R) = F(R(R)).
So we will get to understand F(x(x)) later?
Yep.
The key point is to note that the whole idea is to get R(R) = F(R(R)).
15:30
okk
That is essentially what we want. R(R) is a fixed-point of F.
How is R(R) defined?
We want to have something equivalent to R = ( x ↦ F(x(x)) ).
If we do, then R is a 1-parameter sentence about strings, and R itself is a string, so R(R) would be just a sentence about strings.
im back
Welcome back
@user21820 next...
15:35
We just need to define R in a proper way that will capture what we are aiming for, and to do so we will need to use the fact that in F every occurrence of the parameter is under the box.
What is "F" in F(x(x))? Is it fixed point?
F here is just a 1-propositional-parameter sentence such as ( Q ↦ ⬜Q ⇒ P ). I ran out of variable names...
ohhh
Try to use different variables... :D
I will do the transformation specifically for F = ( Q ↦ ⬜Q ⇒ P ), starting with the idea and gradually working to the actual thing.
?Let R = ( x ↦ F(x(x)) ).
Let R = ( x ↦ if x is a 1-parameter sentence about strings then ( ⬜y ⇒ P ) for any string y such that y=x(x) ).
Note that "x is a 1-parameter sentence about strings" can be converted to a suitable sentence about strings!
So the first part is okay.
The part "( ⬜y ⇒ P ) for any string y" is also okay, but the "y=x(x)" is still not okay.
However you can convince yourself that you can construct a suitable sentence about strings that indeed says "y is the result of substituting x for the parameter in x".
So we can in fact translate (tediously) the above R to a 1-parameter sentence about strings.
Does this make sense so far? All we have to do now is to see what R(R) expands to.
@LeakyNun @Mathmore If you have doubt about why any of these parts can be expressed as sentences about strings, please let me know before we go on.
@LeakyNun: Uh oh where did Mathmore go? You following so far?
15:53
ok @user21820
Note that the above crucially relied on F having all occurrences of the parameter under a "⬜", otherwise we wouldn't be able to perform the same construction of R.
(And we had better not be able to, otherwise we would be able to get real hot Curry paradox or liar paradox or whatever.)
Now assuming that we have properly constructed R to really be a 1-parameter sentence about strings, then R(R) would be equivalent to ( if R is a 1-parameter sentence about strings then ( ⬜y ⇒ P ) for any string y such that y=R(R) ), which is equivalent to ( ( ⬜y ⇒ P ) for any string y such that y=R(R) ), which is equivalent to ( ⬜R(R) ⇒ P ) by first-order logic.
Which means we are done. R(R) is a candidate for the Q that we sought.
@LeakyNun: Got it? We could avoid Godel numbering and all the stuff about primitive recursive functions, simply because FM can do string manipulation. It means we can 'factor' out Godel's contribution by separately showing that any system that can interpret PA− can also interpret TC.
19 mins ago, by user21820
Note that "x is a 1-parameter sentence about strings" can be converted to a suitable sentence about strings!
which?
Hmm.. Like "x is the result of concatenating a string with itself" is technically not a (first-order) sentence about strings, but you can convert it to "∃y ( x=y+y )", which is indeed a sentence about strings involving x.
Similarly for that note. It may be complicated, but surely you can see that it's possible. For example, can you give a (first-order) sentence involving x that says "x is a string consisting of matching left/right brackets"?
Okay maybe this is too hard.
Lol.
Wait I should say it's not too hard! It's a challenge for you!
Actually it is easy if you've been following the discussion about using strings to trace program execution. But it's not so easy to find a simpler way. There is, though!
I should perhaps point out one more important thing. Given any actual 1-parameter sentence R about strings, FM can indeed prove (the suitable translation of) "R is a 1-parameter sentence R about strings" that we used above. This fact is necessary for us to say "which is equivalent to" above, which actually means "FM can prove the equivalence".
@LeakyNun @Mathmore: That is really all there is to it. I am going off now. Feel free to ask any questions to clarify. The above argument would more or less show (F).
16:17
@user21820 how is that able in first-order lol
you can't build a regex to do it
Next time, after any immediate questions you have, I wish to give you the complete non-constructive proof, which is like 10% the difficulty of this constructive proof. =)
@LeakyNun If you can build a program to do it, you can do it, because you can encode the entire execution of a program in a single string and use a suitable sentence to say that a string is a valid execution of a program on some input.
@user21820 can I have a brain-teaser first :P
The brain-teaser is to do it without using the cheat method of tracing program states.
@LeakyNun Okay I'll give you hints.
@user21820 then I'm not sure if I can do it in first order
it's definitely doable in second order
Hint 1: Construct a 1-parameter sentence unary that says that the string is composed only of "1"s. To make it easier, you can use arbitrary string literals.
16:21
$\forall y:y \in x \iff y="1"$
∀y:y∈x⟺y="1"
No second-order!
@user21820 calm down lmao
Anyway your second-order sentence does not make sense because a string is not a set.
Hint 2: Construct a (1-parameter) sentence about x that says that x is a sequence of unary strings separated by "0" such that each except the first is one "1" longer than the previous one.
$\forall a \forall b \forall c [x=a+b+c \land \forall d \forall e [b=d+e \implies [d=\varnothing \lor e=\varnothing]] \implies b="1"]$
∀a∀b∀c[x=a+b+c∧∀d∀e[b=d+e⟹[d=∅∨e=∅]]⟹b="1"]
That's fast.
On to Hint 2.
16:26
wow lol
Hint 3: Construct a (2-parameter) sentence about x,y that says that x is a sequence as in Hint 2 and y is a sequence of the same length as x and each item in y except the first is the same as the previous one with a "()" inserted somewhere.
Actually Hint 3 is the solution already hahahaha..
If Hint 3 may be too hard...
what is a unary string?
It's Hint 1, which you already did.
Hint 3+: Construct a (2-parameter) sentence about x,y that says that x is a sequence as in Hint 2 and y is a sequence of strings of the form k+":"+t separated by "," that is the same length as x such that each item except the first has the t being the same as the previous one's t with a "()" inserted somewhere.
@LeakyNun Got it now? =D I'm really going off haha.. =D
16:39
@user21820 lol I'm stuck at hint 2
Hint 2+: Try saying "for every substring that is of the form "0"+u+"0"+v+"0" where u and v are unary we have ...".
@user21820 I tried that, but 02010 breaks it
Well you can force every symbol to be either "0" or "1".
Wrong comment removed. Easiest way still to just force it to be binary.
hmm
$\operatorname{binary}(x) \land \forall a \forall u \forall v \forall b [x=a+"0"+u+"0"+v+"0"+b \land \operatorname{unary}(u) \land \operatorname{unary}(v) \implies v=u+"1"]$
binary(x)∧∀a∀u∀v∀b[x=a+"0"+u+"0"+v+"0"+b∧unary(u)∧unary(v)⟹v=u+"1"]
Why so many terms you have there?
16:45
because I need the prefix and suffix to extract a substring
Oh yes.
Looks good, yes. This assumes conveniently that we have "0" at the front and back. Not a problem to do that.
@user21820 why does it?
I mean, 1011 satisfies my sentence
Wait then yours is incomplete.
10111 also satisfies.
Simply because there are not enough "0"s. You need to also say that x starts and ends with "0".
16:48
@user21820 well so is every formal system
alright
So yea you would get exactly those strings starting and ending with "0" and as described in Hint 2.
Okay bye for now and you have until I get back to solve Hint 3. That should convince you that first-order string manipulation is powerful. You can also think of how to do encoding of arbitrary strings into binary, so that binary suffices.
17:32
@user21820 isn't this second-order?
18:25
@user21820 I was quite busy so couldn't join you guys.
I will read this thread later.
 
4 hours later…
22:18
0
A: Triple negation in intuitionistic logic?

Rob ArthanIt is standard to identify $\lnot A$ with $A \to \bot$ in intuitionistic logic. The $\lambda$-term $\lambda f^{(A\to B)\to B}{\cdot} \lambda a^{A}{\cdot} f(\lambda g^{A \to B}{\cdot} g(a))$ corresponds to a proof of $(((A \to B) \to B) \to B) \to (A \to B)$ under the Curry-Howard Correspondence. ...

Are you familiar with this notation? @user21820

« first day (410 days earlier)      last day (2701 days later) »