« first day    last day (2806 days later) » 

11:52 AM
Hi there
 
@toto: Hello
 
How are you ?
 
I'm fine, thank you! =) I'm actually in the CS department, but was originally from both Math and CS, and now still actively doing logic-related stuff.
That's why I've been active on Math SE concerning logic questions too.
How about you?
 
Well, i'm fine too, and i'm actually a young developper, and one of my aims are to get a graduate of mathematics, but from now i'm studying logic (i'm a rookie in math and logic)
And i would like to understand the fundamentals of mathematics
 
Ah I see. If you're serious about learning logic (and have a little bit of background in mathematics), I recommend you read the links from my profile page, and especially focus on Stephen Simpson's notes in my list of references.
I didn't personally learn from his notes, but it was the best online introductory material I found so far that has significant content.
 
11:57 AM
I'm i see, i was reading "the fundation of mathematics" from Kenneth Kunen
 
I've heard that name but don't know anything about his book, sorry.
 
yup, i'll read the books you're talking about
But from now, i'm trying to understand the theorem about recursion we talked about yesterday
 
Yup let's get to it
I'll not use LaTeX here but plain ASCII.
 
In my math book, they were saying that we could prove this theorem with function restrictions
 
I don't know what "function restrictions" means.
 
11:59 AM
And actually, i think that's quite pretty the same as your explanation
hu, well, it means defining a function with a restricted range
 
Yes that's necessary in ZFC set theory
 
For example, let's consider a function f with the range of natural numbers
no, with the domain of natural numbers
and with the range of natural numbers too
 
In ZFC functions are defined as certain kinds of sets, but restricted comprehension means that it can't include all function-like things.
Otherwise you would have a contradiction as there is no set of all sets.
 
actually, if i get a function g, it is a restriction of f if it have a domain which is the same as the f domain, but restricted to some elements
 
Wait, what exactly are you referring to?
 
12:02 PM
f : N->N
g : {0,1,2,3}->N
g is the restriction of f on the subset {0,1,2,3} included in N
do you see what i'm referring to ?
 
Yes. So you mean your book phrases the theorem in terms of function restrictions.
Most set theory books do that, yes.
 
Yes right
 
I didn't because set theory isn't the core issue here.
Anyway it's easy to get between that version and the version you asked.
 
I see yes, but actually, what i didn't get was about the fact that there was two main steps
 
Did your book have the same split?
 
12:05 PM
Not exactly
But that's not an issue
 
It's not absolutely necessary, but the same steps need to be there even if they don't split it into two clearly separate parts.
Let me just be precise.
 
what i'm looking for is to understand what i must do the steps
why*
 
Step 1 was to prove "exists h : {0..k}->E ( h(0) = a and forall n in N[<k] ( h(n+1) = g(h(n)) ) )".
 
the first one was about prove by induction that a function h exist, and was defined on natural numbers
yes
 
Yes, and notice that step 1 does not show that the witness for the existential sentence is unique.
That is why we have step 2.
 
12:07 PM
yes but, i don't understand why we must prove that this function is unique
 
By the way I missed out in step 1 "forall k ( ... )".
Because your question asked for it.
 
ah well, that's true
 
Oh and there's another reason.
If you don't prove uniqueness then Step 3 won't work.
And then Step 4 would fail too unless you have the axiom of choice.
So I see that may be why you're not getting the point of Step 2.
 
step 3, i don't remember exactly what is was (aka, i didn't understand it i think)
 
Okay we'll go through them one by one.
 
12:10 PM
yeah okay, actually, what i don't see, is the global logic
 
Before that, let me make my point clear. Even if your question didn't ask for uniqueness, you would be unable to prove the recursion theorem if we skip Step 2, unless we have axiom of choice.
 
why ?
 
I'll say why when we get to Step 4.
 
okay
So, i'll try to explain what i understand
 
Sure.
 
12:12 PM
for me, the aim is to prove the theorem, so to prove that it exists a function h
which have some properties
it's domain is from naturals to the range E
and there's another function g from E to E, we must assume that it is well defined ?
E contains a, h(0) = a (meaning that h contains the ordered pair (0,a))
and h follow these properies : h(0)=a (true by definition ?), h(n+1) = g(h(n))
 
You are given g
you can't choose it
It is given to you as a function from E to E.
 
okay, can we assume that it is well defined ?
I mean, each E element from domain maps to an element within E ?
 
Hmm the only way you can completely grasp it is to write down the full theorem in formal form and observe the quantifier structure. Why don't you try that now?
The problem with many textbooks is that they use "let" in an inconsistent manner, so beware.
 
i don't get exactly what you're talking about when you talk about quantifier structure
 
State the recursion theorem completely symbolically. No English.
Quantifiers are "forall" and "exists"
 
12:18 PM
yeah okay, i know them
But, my mind works that way -> It tries to have some idea about a problem, and to find a solution about it trying things
And i don't know if it is the right approach
i don't know how i should think about such a demonstration
 
There is no demonstration.
It's simply to state the theorem in symbolic form.
Can you?
 
I'll try
 
Same way I stated Step 1 above.
Let me rewrite it correctly.
Given E,g as in the question, Step 1 was to prove "forall k in N ( exists h : {0..k}->E ( h(0) = a and forall n in N[<k] ( h(n+1) = g(h(n)) ) ) )".
 
there exist h such that (h(0)=a and h(n+1)=g(h(n))) such that, for all integers in natural number set
 
If that's all, I don't know what you're saying.
What are h,a,n,g?
 
12:24 PM
well yes i see that i have an understanding issue
 
Okay so I'll write it out.
 
if you want an online editor about latex, here's one : codecogs.com/latex/eqneditor.php
 
No need; I don't like typing LaTeX in chat.
 
okay
 
forall set E , forall function g : E->E , forall c in E ( exists function f : N->E ( f(0) = c and forall n in N ( f(n+1) = g(f(n)) ) ) ).
Note the first few quantifiers, which are not properly shown in the English text of your quoted version of the recursion theorem.
 
12:29 PM
i see
yes you're right
 
You know the game semantics now right? It goes like this. I'm the Refuter.
You are the Prover.
The first quantifier is a forall so I start.
 
yes, you tell, forall set E
meaning that every set will have the predicate that follows
 
Actually I give you a set E
 
Hi
 
hi
 
12:31 PM
and a function g : E->E and some c in E.
 
after Finishing the Conversation , Remind Me I have a Doubt
 
@user36188: Hi. You're welcome to join, but if you've a question please wait while we finish discussing the recursion theorem for natural numbers.
@toto: And then it's your turn. You have to give me a function f : N->E.
And you have to show me that f(0) = c.
 
that's what you called the game ?
in your post
 
Yes!
And then it's my turn again. I'll give you some n in N, and you have to show me that f(n+1) = g(f(n)). Game over.
 
that way of thinking is weird for me, i never tried to think about logic that way
 
12:34 PM
If you succeed, you win. If you fail, I win. A proof of the recursion theorem will mean that you can always succeed regardless of how I play.
Yes that's why I was lamenting the state of mathematical education. This game semantics is the key to understanding logic.
 
ah well, what you're saying is that, the first statement about forall set E
is like you give me a set
then you give me a function g
and then a c
 
Yes, right, and then you must respond correctly.
 
then i must prove the predicates
 
If you don't give me a function f that 'works properly', then I'll be able to win.
Yup. I think you got the idea.
 
well i see, because
 
12:37 PM
So to answer your original question, at the point when I give you g, I'm the one who has to convince you that g is a function from E to E.
So by nature of the game, if the game continues it is because I managed to.
 
i was thinking that when you say for exemple "forall x in {0,1,2}, P(x)"
was the same as saying P(0)^P(1)^P(2)
and so, the same as proving P(0)^P(1)^P(2)
Okay, i see
 
It's almost the same.
In this case there are finitely many cases, so it's clearly equivalent.
But if you quantify over some arbitrary set (which could be infinite), then it is no longer possible to rewrite it as a conjunction.
 
ah you're meaning that, when we give us a function g
It means that the oponent must give something well defined, otherwise g is not a valid function
Okay, yes, but if it is not possible to rewrite it as a conjunction how to think about it ?
 
The game semantics still work.
Let's consider a simpler example.
forall x in N ( exists y in N ( x = 2y or x = 2y+1 ) ).
Do you want to play Prover or Refuter?
 
prover
 
12:44 PM
Good, so I as Refuter go first.
I have to try to make you lose, while you have to be able to win no matter what x in N I give you on my first move.
Can you see why it works despite not being a conjunction?
Say I give you 237.
 
yes, you mean that i have to abstract my way of thinking, not be on a specifi N element, but be on the caracteristic of every n in naturals
Ok
 
More or less yes. Basically although there are infinitely many possible moves I can make on my first move, you have an abstract way of handling any of them.
Excellent.
Okay with this now? Then we can go back to the recursion theorem.
 
so i have 237, and i must now prove the predicate (there exist a positive integer y, such that 237=2*y or 237=2*y +1)
so i just have to resolve the two equations (i think ?)
first part
237 = 2*y
237 / 2 = y
y = 237 / 2
but y isn't an integer
so that's false for the first part of the or
i'm now solving the other part of the or
237=2*y+1
237-1=2*y
(237-1)/2 = y
 
Yes so you can fine out the y that you have to give me on your turn.
which is 118 in this case.
And then you show me that x = 2y+1, so you win.
 
yes
so, that's true in the case of 237 that you gave me
and i won
 
12:52 PM
Yes you can see that you haven't got a general strategy.
That's what a proof will give you.
 
yes right
 
You can try proving it by induction. It's relatively simple.
Do you need to see it or do you want to carry on?
 
yes, you're meaning, a proof is a way of saying, despite you gave me a x, i can say that the predicate is true only referring to properties of x that it shares with other elements of the set N
so that means that the predicate will be true for every element in N
 
Yes sort of.
To be precise, in the proof you will only use the fact that x in N.
So it means it must work for any x in N that I give you.
 
hum, i see
 
12:54 PM
Let's just do it since it's an instructive example of induction.
 
so, since you don't see a global strategy, you have to prove the predicate for every element in N, so we do it by induction
 
Right.
 
okay, so i start proving that's true for 0
 
Let P(n) assert that exists y ( n = 2y or n = 2y+1 ).
Oh by the way when you do induction, always define the predicate you are inducting on.
 
0 = 2*y or 0 = 2*y+1
Yes
 
12:55 PM
A lot of people do induction wrongly because they fail to realize they didn't (and often couldn't) define the predicate.
 
0/2 = y = 0
 
Your statement is invalid because "y" is not quantified.
 
y = 0, it is an integer that's okay
 
The idea is correct, and I'll show you how the proof should look.
 
okay
 
12:58 PM
Hi
 
Hi
 
conversation is over
 
Let P(n) assert that exists y ( n = 2y or n = 2y+1 ).
Note that 0 = 2*0 or 0 = 2*0+1.
Thus exists y ( 0 = 2y or 0 = 2y+1 ).
Thus P(0).
Given any n in N such that P(n):
| ...
| P(n+1).
Therefore forall n in N ( P(n) ).
Stupid chat. I can't indent properly. See the vertical bars? It means that those two lines are under the "Given any n in N such that P(n):"
 
yes
i understood yes, i already find a proof of the induction :)
 
@user36188: Not yet. This is the chat-room I created, and it was specifically to discuss with toto first.
Good.
Note that the proof by induction can be unravelled when you're actually playing the game.
 
1:01 PM
yes okay
 
yes okay No Problem
 
So, if i assume that P(n) is true
i have to use P(n) prove that P(n) implies P(n+1) is true
 
@user36188: But if you're in a hurry you can post your question here and I'll reply later if I can answer it.
 
and then i can say that i prove P(n) for every n in naturals
 
ok No Problem
 
1:02 PM
Yes you just have to fill in the "..." in my proof outline.
In that context you have n in N and also that P(n) holds.
and all you need to show is that P(n+1) holds too.
 
yes i see
 
So when playing the game, an induction proof unravels as if running a for-loop (do you know programming?)
 
i'm a programmer :)
yes, you're right
 
So I guess I don't have to explain that. Great!
So back to the recursion theorem.
Okay?
 
yes !
 
1:07 PM
Recursion theorem asserts
forall set E , forall function g : E->E , forall c in E ( exists function f : N->E ( f(0) = c and forall n in N ( f(n+1) = g(f(n)) ) ) ).
 
Yes, so you start the game giving me a set E, a function g : E->E and a c from E
Now, i have to prove the predicate to win
 
Proof goes like this:
Given set E and function g : E->E and c from E:
| [Steps 1,2,3,4]
Step 1 proves
forall k in N ( exists h : {0..k}->E ( h(0) = c and forall n in N[<k] ( h(n+1) = g(h(n)) ) ) )
Step 2 proves
forall k in N ( forall h,h' : {0..k}->E ( h(0) = c and forall n in N[<k] ( h(n+1) = g(h(n)) ) ) and ( h'(0) = c and forall n in N[<k] ( h'(n+1) = g(h'(n)) ) ) implies h = h' )
See why I separated the two steps? First one is for existence, second one is for uniqueness.. Together Steps 1,2 prove
forall k in N ( exists unique h : {0..k}->E ( h(0) = c and forall n in N[<k] ( h(n+1) = g(h(n)) ) ) )
 
yes
i understand
 
Okay so do you understand Steps 3,4 or do you want me to write them out symbolically too?
 
i would like you to write them could you ?
 
1:12 PM
Sure.
Step 3 first does
for each k in N let h[k] : {0..k}->E such that ( h(0) = c and forall n in N[<k] ( h(n+1) = g(h(n)) ) ) )
Note that this is valid because we proved uniqueness. Here I'm reusing the variable name "h" and this time it is a sequence, which is nothing more than a function with domain N.
 
i see, but i don't understand why uniqueness is really important in this case
 
Okay I think it's not a good idea to reuse variable names formally.. I'm going to deviate from my post and use H here. The reason is that what I just wrote above is not allowed unless you have uniqueness.
Either that or you need the axiom of choice.
 
well, i understand that you give me a h[k] (h restricted to {0,...,k})
And since we prove uniqueness of h
h[k] must be unique too ?
 
It's an artifact of the chosen logical system we're using.
Currently it is ZF.
 
why an artifact ?
 
1:20 PM
In ZF we cannot just define a sequence H on N, such that H(n) satisfies some property for each n in N, just by showing the existence of such an object for each n in N.
 
sequence H, what do you hear by sequence ?
 
function whose domain is N
where "function" means "set of ordered pairs satisfying certain properties"
 
i see
 
Now you see why I say it is an artifact? It is not a natural way of thinking.
 
Well, what you're saying is that a function H with domain N
is actually a list of ordered pairs
 
1:23 PM
Yes in ZF set theory you'd have to do it that way.
I don't like it.
But no choice.
 
and you can't say that H exist only by showing that every pair exist in H ?
 
Something like that. Precisely, for each specific k in N you can produce a h witnessing P(k). But you can't produce a function H such that for each k in N we have H(k) witnessing P(k).
Unless you can uniquely identify the witness for each k, or you have the axiom of choice.
 
i mean, showing that H exist from N to N can't be done only by proving that H contains forall n in N , there exist y such that (n, y) is in H
 
Yes that's the point more or less.
not from N to N.
domain of H is supposed to be N but range is some set of functions
Maybe you must see how H is constructed.
 
well, my question is this : how in general can you prove that a function exist ?
i mean using ZF
 
1:28 PM
Let H = { (k,h) : k in N and h : {0..k}->E and h(0) = c and forall n in N[<k] ( h(n+1) = g(h(n)) ) }.
There this is how you do it.
We have defined some set H of ordered pairs. (Please don't ask how to do ordered pairs in ZF. Heheheh.)
By Steps 1,2, we have shown that H is a function!
 
i know that an ordrered pair is (a,b)={{a},{a,b}} don't worry
but, that's weird, i don't get the point of how to prove that a function exist
 
Specifically Step 1 showed that for each k in N there is some ordered pair in H with first entry k, while Step 2 showed that for each k in N there are no two different ordered pairs in H with first entry k.
 
ah well, great
i get it
 
Great!
 
so, it means that, to prove that a function exist
 
1:31 PM
You first construct a set that you hope works.
And then you prove that it is a function.
 
you have to prove that there exist a set with some ordered pairs in it
yeah, seems legit
 
Yup there's some small issue where the axiom of specification means that you must first construct some larger containing set...
 
why ?
 
Because the axiom says so.
Lol.
You can only construct { x : x in S and P(x) } where S is a previously defined set.
Sigh. You really want to go down all the rabbit holes I show you right? =P
 
my aim is to understand exactly what i'm doing
 
1:35 PM
Sure. I enjoy teaching students like you. =)
 
ok so i get the point about this axiom (isn't it the comprehension axiom ?)
 
Yes that's another name for it.
 
okay, i get it so, i've read about it
but, so you can't just construct a function (aka a set with ordered pairs) only rom void ?
 
So the set H we constructed is not really granted by the comprehension axiom unless we first construct a bigger set containing the pairs we want.
 
only from*
 
1:36 PM
Nope.
You know that (a,b) = {{a},{a,b}}.. So we need a few power-sets to get up there.
After taking the union of the domain and codomain
Domain we want is N.
Codomain?
 
yes, we need the singleton and union
and pair
axioms
 
Codomain needs to include all h : {0..k}->E for all k in N
So a few power-sets and union to get codomain.
Then I think you get the rest.
 
wait, i don't know the meaning of codomain
it is the range ?
 
Not quite. We say that f is a function from S to T when f(x) in T for any x in S. S is the domain and T is the codomain. Technically in set theory there's no such thing as codomain because all the set of pairs can tell you is the range.
 
okay i just see on wikipedia what is a codomain
 
1:40 PM
But you need some set containing the range otherwise you can't construct the set of functions.
 
yes you're right
 
Got it?
 
i understood that to build a set function, you need the elements a and b to build (a,b)
and then add it in the set of the function
that's right ?
but you told me that you need a bigger set than the set of H to prove it's existence with comprehension axiom
 
Yes you cannot just build it directly (unless the domain is a set and you want to use the axiom of replacement).
 
Okay, but, if i have two sets A and B
and i want to create a function f from A to B
 
1:45 PM
{ (a,b) : P(a,b) } is short-form for { x : x = (a,b) and P(a,b) }, which is not clear that it is a set in general.
Yes that's fine, because we can take P(P( A union B )).
 
it means that forall x in A there exist y in B such that (a,b) is in the set of f
 
No what I mean is that { x : x in P(P( A union B )) and x = (a,b) and φ(a,b) } would be a set by axiom of specification.
but if you didn't write in the first part of the specification you cannot claim it is a set.
Otherwise Russell's paradox! { x : x not in x }?
sorry sorry
 
P(A union B) means all the subsets of A union B ?
 
Yes. I did mean two "P"s there.
 
yes
 
1:48 PM
That's twice power-set. What I didn't mean was to use "P" for the defining formula.
I've changed my last one to use φ, but I can't edit the earlier one anymore.
 
well, i thought actually that you can build an ordered pair (a,b) only from a and b
 
Yes you can, given a and b.
Here you're forming a set of pairs. You aren't given a,b.
 
yeah, but if you give me two set A and B
i can build forall x in A, forall y in B, (x, y)
isn't it ?
 
Yes you can. That's equivalent.
You are building { x : x in P(P( A union B )) and x = (a,b) }
 
P(A union B) contains all (a,b) ?
 
1:51 PM
No P(P( A union B )) contains all pairs (a,b) where a in A and b in B.
but it contains other stuff also that's why I cut it down.
 
yeah of course
well i never noticed that fact
you mean P(P(A union B)) or only P(A union B) ?
 
The reason for twice P is because of the choice of definition of ordered pair, so this is another artifact of our choice of foundations.
 
okay
well, i understood
 
Okay back to where we were.
 
but, one more point
 
1:53 PM
ok
 
if i have a function f
from A to B
and then i want to have a function f' from A' to B
where A' is a subpart of A
 
{ x : x in P(P( A' union B )) and x = (a,b) and f(a) = b } does the job.
sorry
oops
 
i mean A is a subpart of A' sorry
 
Wait what is your question? Your original made sense and is about restriction.
 
actually, i want f to be a restriction of f' on set A
yes right
that's about restriction
 
1:57 PM
Uh but you're going to wrong direction.
Your f' is bigger than f
 
yes, and i want to know if i can build f' from f
 
You'd have to specify what you want f' to be then, and prove that it exists.
 
hum, let's take an example
 
Do it the same way as for all functions.. Construct the set you hope is the answer and then prove it is a function that extends f in the way you want.
Like in Step 1
If you have f : {0..k}->E already.. you can construct f union { (k+1,g(f(k))) }.
 
A := {a1, a2, a3}
B := {b1, b2, b3}
f := {(a1,b1), (a2,b3), (a3,b2)}
 

« first day    last day (2806 days later) »