Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is...
Transcript of Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is...
![Page 1: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/1.jpg)
MAT 7003 : Mathematical Foundations
(for Software Engineering)
J Paul Gibson, A207
http://www-public.it-sudparis.eu/~gibson/Teaching/MAT7003/
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsAndRelations(Using RODIN).1
http://www-public.it-sudparis.eu/~gibson/Teaching/MAT7003/
Sets and Relations (UsingRODIN)
…/~gibson/Teaching/MAT7003/L3-SetsAndRelations(Using RODIN).pdf
![Page 2: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/2.jpg)
Have you installed RODIN on your PC?
http://sourceforge.net/projects/rodin-b-sharp/files/Core_Rodin_Platform/2.6/
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsAndRelations(Using RODIN).2
![Page 3: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/3.jpg)
Unzip in a suitable location and run the executable
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsAndRelations(Using RODIN).3
![Page 4: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/4.jpg)
Follow the Instructions on the Welcome Page
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsAndRelations(Using RODIN).4
… and restart … and check for updates
![Page 5: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/5.jpg)
After installing RODIN and checking for updates you should have a clean workspace, which looks something like this:
A CLEAN WORKSPACE
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsAndRelations(Using RODIN).5
![Page 6: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/6.jpg)
A NEW PROJECT
Now we wish to create a new project; and there are multiple ways of doing this(as there always is in RODIN – and Eclipse):
New Event-B project
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsAndRelations(Using RODIN).6
Here: using shortcut
New Event-B project
![Page 7: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/7.jpg)
Give the Project a Name (Introduction )
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsAndRelations(Using RODIN).7
![Page 8: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/8.jpg)
Now add a Context component –SomeSets - to our project (in order to do some mathematics using set notation)
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).8
![Page 9: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/9.jpg)
Check that the SomeSets context is empty
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).9
![Page 10: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/10.jpg)
Now, try and write the following context specification … how intuitive is the RODIN user interface for beginners?
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).10
Can you explain what it means (in English)?
![Page 11: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/11.jpg)
There is a second kind of editor/viewthat is popular
Right click SomeSets and select Open With Event-B context editor
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).11
This is the pretty printview of the Event-B context editor
![Page 12: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/12.jpg)
Use the editor view to add English commentsdocumenting the specification
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).12
![Page 13: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/13.jpg)
Use the editor view to add English commentsdocumenting the specification
NOTE: Both the differenteditor views getupdated
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).13
![Page 14: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/14.jpg)
Now, can you specify that if you are male then you cannot be female
But, our specification is incomplete: it allowsmale and female sets to overlap
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).14
There are lots of different axioms thatyou could write.
Can you find one that you think iscorrect?
![Page 15: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/15.jpg)
Male∩ Female =∅
Female = PERSON∖ Male
Male = PERSON \ Female
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).15
QUESTION: Are these axioms equivalent?
Let’s see using RODIN:Does Male∩ Female =∅ imply Female = PERSON ∖ Male
![Page 16: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/16.jpg)
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).16
Add Male∩ Female =∅ as an axiom(non theorem)Add Female = PERSON ∖ Male as a theorem
QUESTION: What do you notice about the SomeSets context properties ?
![Page 17: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/17.jpg)
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).17
We have someproof obligations to discharge with the prover
![Page 18: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/18.jpg)
We can open the Proving perspective to try to prove axm5
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).18
![Page 19: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/19.jpg)
This shouldnt be so hard for a prover to Prove automatically
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).19
Launch PP (with all hypotheses)
![Page 20: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/20.jpg)
Don’t forget to save the proof
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).20
![Page 21: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/21.jpg)
Can you use RODIN to check equivalence of these axioms?
1. Male∩ Female =∅
2. Female = PERSON∖ Male
3. Male = PERSON \ Female
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).21
We have already proven that 1 => 2
Question: what else do we need to prove?
![Page 22: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/22.jpg)
Let’s add some more sets to our context.
Imagine that we wish to build a context that models family relations
The types of concepts that we need are:
•Mother,•Father,•Parent,
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).22
•Parent,•Child,•Brother,•Sister,•Sibling,•Ancestor,•Descendant
TO DO: See how many of these you can model using just sets
![Page 23: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/23.jpg)
Parents – the set of people who are mothers or fathers is pretty easy, eg:
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).23
But, it is not clear how to model the other concepts (if it isindeed possible) without introducing relations between sets
![Page 24: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/24.jpg)
RELATIONS
If a set A is given explicitly, it is immaterial in which order the elements of A are listed, e.g. the set {x, y} is the same as the set {y, x}. In many instances, however, one would like, and, indeed, needs, to have someorderin the appearance of the elements.
We needto capture the notion of orderingusingSet syntaxand
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.24
We needto capture the notion of orderingusingSet syntaxand semantics.
![Page 25: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/25.jpg)
RELATIONS
Definition Let A be a set:
1. A is called a singletonif A = {x} for some x, i.e. if A has exactly one element.
2. A is called an unordered pair, if A = {x, y} for some x, y, if A has exactly two elements.
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.25
has exactly two elements.
3. A is called an ordered pairif A = {{x}, {x, y}} for some x, y.
We shall usually abbreviate the right hand expression by<x, y> = {{x}, {x, y}}
![Page 26: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/26.jpg)
RELATIONS
The decisive property of ordered pairsis that two ordered pairs are equal if the respective components are the same.
TheoremLet <a, b> and <c, d> be ordered pairs.
Then <a, b> = <c, d> if and only ifa = c and b = d.
Remark. The expression “if and only if” means that
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.26
Remark. The expression “if and only if” means that1. If <a, b> = <c, d>, then a = c and b = d.2. If a = c and b = d, then <a, b> = <c, d>
So, we have to prove two directions, namely 1. and 2.
Usually, “if and only if” is abbreviated as simply “iff ”.
QUESTION: Can you prove this?
![Page 27: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/27.jpg)
RELATIONS
Definition The Cartesian (or cross-) productA × B of two sets is defined as:
A × B = {<a, b> : a ∈A, b ∈ B}
This definition can be generalised to more than 2 sets (but we wont do this at the moment)
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.27
this at the moment)
QUESTION: •Is it possible that A × B = B × A? •If A has n elements and B has m elements, how many elements does A × B have?
![Page 28: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/28.jpg)
RELATIONS
Definition
Any subset of A × B is called a relation between A and B
Any subset of A × A is called a relation on A
Since a relation R on A is a subset of A × A, it is an element of the⊆
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.28
Since a relation R on A is a subset of A × A, it is an element of thepowerset of A × A, i.e. R ⊆ Þ(A × A).
If R is a relation on A and <x, y> ∈ R,then we also write:
• xRy, read as “x is in R-relation to y”, or simply• x is in relation to y, if R is understood.
![Page 29: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/29.jpg)
RELATIONS: pictorial representations
For small sets we can use a pictorial representation of relation R on A
Sketch two copies of A and, if xRy then draw an arrow from the x in the left sketch to the y in the right sketch.
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.29
Example,
Let A = {a, b, c, d, e}, and
R = {<a, a> , <a,c>, <c,a>, <d,b>, <d,d>}
a
b
c
d
e
a
b
c
d
e
![Page 30: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/30.jpg)
RELATIONS: definitions
Definition. Let R be a relation on A. Then,
domR= {x ∈A : There exists some y ∈A such that <x, y>∈ R}.domR is called the domainof R.
ranR= {y ∈A : There exists some x ∈A such that hx, yi ∈ R}is called the rangeof R.
∪
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.30
∈ ∈ ∈
Finally, fldR = domR ∪ ranR is called the field of R.
Note: •domR, ranR, and fldR are all subsets of A.•Sometimes they are written dom, ran and fld (when R is implicit in context of use)
![Page 31: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/31.jpg)
RELATIONS: definitions
Definition . Let R be a relation on A. Then,
R˘ = {<y, x> : <x, y> ∈ R} is called the converseof R.
We obtain the converse R˘ of R if we turn around all the ordered pairs of R, ie if we have a pictorial representation of R, this means that all existing arrows are reversed.
R R˘
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.31
a
b
c
d
e
a
b
c
d
e
R R˘a
b
c
d
e
a
b
c
d
e
![Page 32: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/32.jpg)
RELATIONS: definitions
Definition : composition
Let R and S be relations on A; then
R ◦ S = {<x, z> : there is a y ∈A such that xRy and ySz}.
The operation ◦ is called the compositionor the relative productof R and S.
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.32
and S.
![Page 33: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/33.jpg)
RELATIONS:
Ordering relation example
let A = N and let R be the relation defined by <x, y> ∈ R iff x ≤ y; we note that ≤ (or R) has the properties that for all x, y, z ∈ N:
1. x ≤ x,2. If x ≤ y and y ≤ x then x = y,3. If x ≤ y and y ≤ z then x ≤ z,
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.33
3. If x ≤ y and y ≤ z then x ≤ z,4. x ≤ y or y ≤ x, i.e. any two elements of N are comparable with respect to ≤.
![Page 34: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/34.jpg)
RELATIONS: ordering definitions
1. R is reflexiveif <x, x> ∈ R for all x ∈A.2. R is antisymmetricif for all x, y ∈A, <x, y> ∈ R and <y, x> ∈ R implies x = y.3. R is transitiveif for all x, y, z ∈A, <x, y> ∈ R and <y, z> ∈ R implies <x, z> ∈ R.4. R is a partial orderon A, if R is reflexive, antisymmetric, and transitive.
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.34
Sometimes we will call a partial order on A just an order on A, or an ordering of A.
5. R is a linear orderon A if R is a partial order, and xRy or yRx for all x, y ∈A, i.e. if any two elements of A are comparable with respect to R.
![Page 35: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/35.jpg)
RELATIONS: ordering definitions
If R is an ordering relation on A, then we usually write ≤ (or a similar symbol) for R, i.e.
x ≤ y iff xRy
If ≤ is a partial orderon A, then we call the pair <A, ≤ > apartially ordered set, or just an ordered set.
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.35
Furthermore, if ≤ is a linear order, then<A, ≤ > is called a linearly orderedset or a chain.
PROBLEM:Let A = {1, 2, . . . , 10} and define the relation # on A by x#y iff xis a multiple of y. Show that # is a partial order on A and draw its diagram
![Page 36: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/36.jpg)
RELATIONS: Equivalence Relations
Definition : A relation R on a set A is called symmetricif <a, b> ∈ R implies <b, a>R for all a, b ∈A;
in other words, R is symmetricif R = R˘.
Definition R is called an equivalencerelation if R is reflexive, transitive and symmetric
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.36
transitive and symmetric
The importance of equivalence relations lies in the fact that they induce a grouping of the base set into subsets.
![Page 37: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/37.jpg)
RELATIONS: Equivalence Relations
Definition : Let A be a non-empty set. A family P of non-empty subsets of A is called a partitionof A, if every element of A is in exactly one element of P.
In other words,
1. For all S, T ∈ P we have S ∩ T = ∅,2. The union of all elements of P is A.
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.37
∈ ∅
2. The union of all elements of P is A.
The elements of the partition are called the classesof P. A partitionof A is also called a classification.
If P is a partition of A, and if its classes are defined by certain properties, then each element of a specific class has the property which defines the class; in other words all the elements of a class are indistinguishable or equivalent with respect to the defining property of the class.
![Page 38: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/38.jpg)
FUNCTIONS
Definition : A function is an ordered triple <f, A, B> such that:
1. A and B are sets, and f ⊆A × B,
2. For every x ∈A there is some y ∈ B such that <x, y> ∈ f
3. If <x, y> ∈ f and <x, z> ∈ f, then y = z; in other words, the assignment is unique in the sense that an x ∈A is assigned at
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.38
∈ ∈
assignment is unique in the sense that an x ∈A is assigned at most one element of B.
A is called the domainof f, and B its codomain.
![Page 39: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/39.jpg)
FUNCTIONS
Definition :
A partial functionfrom X to Y is a function f: X' → Y, where X' is a subset of X.
It generalizes the concept of a function by not forcing f to map every element of X to an element of Y (only some subset X’ ⊆ X).
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.39
⊆
If X' = X, then f is called a total function and is equivalent to a function (as defined previously).
Partial functions are often used when the exact domain, X' , is not known .
![Page 40: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/40.jpg)
FUNCTIONS
Notation:
It is customary to write the function <f, A,B> as
f : A → B
Also, if <x, y> ∈ f, then we will usually write
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.40
∈
y = f(x)
and call y the imageof x under f.
The set {y ∈ B : There is an x ∈A such that y = f(x)} is called the rangeof f.
![Page 41: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/41.jpg)
FUNCTIONS
If for a function f : A → B it is clear what A and B are, we sometimes call the function simply f, but we must keep in mind that a function is only properly defined if we also give a domain and a codomain!
Definition Let f : A → B be a function.
∈
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.41
Definition Let f : A → B be a function.
1. If A = B and f(x) = x for all x ∈A, the f is called the identityfunction on A, and it is denoted by idA
![Page 42: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/42.jpg)
FUNCTIONS
Definition Let f : A → B be a function.
If A ⊆ B and f(x) = x for all x ∈A, then f is called the inclusionfunction from A to B, or, if no confusion can arise, simply the inclusion.
If A = B and f is the inclusion, then f is in fact the identity on A.
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.42
If A = B and f is the inclusion, then f is in fact the identity on A.
![Page 43: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/43.jpg)
FUNCTIONS
Definitions Let f : A → B be a function.
If f(x) = x for some x ∈A, then x is called a fixed pointof f.
If f(x) = b for all x ∈A, then f is called a constant function.
If g : C → D is a function such that A ⊆ C, B ⊆ D, and f ⊆ g,
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.43
∈
If g : C → D is a function such that A ⊆ C, B ⊆ D, and f ⊆ g, then g is called an extensionof f over C, and f is called the restrictionof g to A.
![Page 44: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/44.jpg)
FUNCTIONS
Definition
Let f : A → B and g : C → D be functions such that
ran f ⊆ dom g.
Then the function g ◦f : A → C defined by (g ◦ f )(x) = g(f(x)) is
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.44
⊆
Then the function g ◦f : A → C defined by (g ◦ f )(x) = g(f(x)) is called the (functional) compositionof f and g.
Lemma Let f : A → B, g : B → C, h : C → D be functions. Then,h ◦ (g ◦ f) = (h ◦ g) ◦ f,
i.e. the composition of functions is associative
![Page 45: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/45.jpg)
FUNCTIONS
Definitions Let f : A → B
f is called ontoor surjectiveif codom f = ran f. If f is surjective, we sometimes indicate this by writing
∈
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.45
f is called one–one or injectiveif for all x, y ∈A, f(x) = f(y) impliesx = y. If f is injective, we sometimes indicate this by writing
f is called bijectiveif f is onto and one-one
![Page 46: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/46.jpg)
FUNCTIONS
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.46
QUESTION: Give an example of these types of function over the sets of people
![Page 47: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/47.jpg)
FUNCTIONS
Definition Let f : A → B and g : B → A be functions;
g is called the inverse of f, if g(f(x)) = x for all x ∈A.
It is often written as:
In other words, g is an inverse of f, if and only if g ◦ f = id
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.47
In other words, g is an inverse of f, if and only if g ◦ f = idA
Theorem f : A → B has an inverse if and only if f is injective
![Page 48: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/48.jpg)
FUNCTIONS
Definition
Let A = {1, 2, 3, . . . , n}, and f : A → A be a bijective function;
then f is called a permutationon n.
QUESTION: for a set with N elements then how many permutations exist?
2009: J Paul Gibson TSP: Mathematical Foundations MAT7003/SetsFnsRelations.48
permutations exist?
CODING TASK: Write a program to generate all the permutations of a set of integers, and to count the number generated. Does your program verify your answer to the question, above?
![Page 49: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/49.jpg)
Let us return to the family in RODIN to try and model the relationships
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).49
![Page 50: Sets and Relations (Using RODIN) - TELECOM SudParisgibson/Teaching/MAT7003/L3... · intuitive is the RODIN user interface for beginners? 2012: J Paul Gibson TSP: Mathematical Foundations](https://reader034.fdocuments.net/reader034/viewer/2022050112/5f4969c5fd2de418b42a5921/html5/thumbnails/50.jpg)
TO DO (before next week):
Attempt to add new family relations to the axioms
Attempt to introduce new theorems
Can the RODIN prover dischargethe proof obligations
2012: J Paul Gibson TSP: Mathematical Foundations MAT7003/Sets And Relations (Using Event-B).50
Can the RODIN prover dischargethe proof obligations automatically?
A sample solution to this problemwill be put on-line before the next session; but you should try it for yourselves.