SlideShare a Scribd company logo
Sylvain Hallé & Hugo Tremblay
Sylvain Hallé
Hugo Tremblay
Université du Québec à Chicoutimi
CANADA
A Generic Explainability Framework
for Function Circuits
CRSNG
NSERC
Sylvain Hallé & Hugo Tremblay
+
Functions
Basic processing unit: function
Sylvain Hallé & Hugo Tremblay
+
Functions
Basic processing unit: function
input pin(s)
output pin(s)
Sylvain Hallé & Hugo Tremblay
+
Functions
Basic processing unit: function
Given input arguments, a function produces output
values
Sylvain Hallé & Hugo Tremblay
+
Functions
Basic processing unit: function
Given input arguments, a function produces output
values
3
2
5
Sylvain Hallé & Hugo Tremblay
A function can be "anything"; it can be
parameterized by another function
Functions
α
2
Sylvain Hallé & Hugo Tremblay
A function can be "anything"; it can be
parameterized by another function
Functions
α
2
apply on each element square
Sylvain Hallé & Hugo Tremblay
A function can be "anything"; it can be
parameterized by another function
Functions
α
2
[4,2,5] [16,4,25]
Sylvain Hallé & Hugo Tremblay
>
+
×
>
>
3
Function circuits
Functions can be composed to form circuits
Sylvain Hallé & Hugo Tremblay
Outputs of "upstream" functions become inputs of
"downstream" functions
>
+
×
>
>
3
Function circuits
Functions can be composed to form circuits
Sylvain Hallé & Hugo Tremblay
Outputs of "upstream" functions become inputs of
"downstream" functions
2
6
3
>
+
×
>
>
3
Function circuits
Functions can be composed to form circuits
Sylvain Hallé & Hugo Tremblay
Outputs of "upstream" functions become inputs of
"downstream" functions
2
6
3
6
8
3
18
6
6
>
+
×
>
>
3
Function circuits
Functions can be composed to form circuits
Sylvain Hallé & Hugo Tremblay
Outputs of "upstream" functions become inputs of
"downstream" functions
2
6
3
6
8
3
18
6
6
6
33
8
18
>
+
×
>
>
3
Function circuits
Functions can be composed to form circuits
Sylvain Hallé & Hugo Tremblay
Outputs of "upstream" functions become inputs of
"downstream" functions
2
6
3
6
8
3
18
6
6
6
33
8
18
⊥
⊤
>
+
×
>
>
3
Function circuits
Functions can be composed to form circuits
Sylvain Hallé & Hugo Tremblay
Outputs of "upstream" functions become inputs of
"downstream" functions
2
6
3
6
8
3
18
6
6
6
33
8
18
⊥
⊤
⊤
⊥
>
+
×
>
>
3
Function circuits
Functions can be composed to form circuits
Sylvain Hallé & Hugo Tremblay
Outputs of "upstream" functions become inputs of
"downstream" functions
2
6
3
6
8
3
18
6
6
6
33
8
18
⊥
⊤
⊤
⊥
⊤
>
+
×
>
>
3
Function circuits
Functions can be composed to form circuits
Sylvain Hallé & Hugo Tremblay
A circuit can be encapsulated into a function
>
+
×
>
>
3
Function circuits
Functions can be composed to form circuits
Sylvain Hallé & Hugo Tremblay
A circuit can be encapsulated into a function
x
y
z
t
(x + y > y × z) ∨ (y > 3)
>
+
×
>
>
3
Function circuits
Functions can be composed to form circuits
Sylvain Hallé & Hugo Tremblay
α
>
3
Parameterized functions result in multiple sub-
evaluations of a circuit
All together now
Sylvain Hallé & Hugo Tremblay
α
>
3
Parameterized functions result in multiple sub-
evaluations of a circuit
All together now
[4,2,5]
Sylvain Hallé & Hugo Tremblay
α
>
3
Parameterized functions result in multiple sub-
evaluations of a circuit
All together now
[4,2,5]
>
3
4
44
3
T
T3
T[ ]
Sylvain Hallé & Hugo Tremblay
α
>
3
Parameterized functions result in multiple sub-
evaluations of a circuit
All together now
[4,2,5]
>
3
4
44
3
T
T3
T[ ]
>
3
2
2
3
T
T
3
T
Sylvain Hallé & Hugo Tremblay
α
>
3
Parameterized functions result in multiple sub-
evaluations of a circuit
All together now
[4,2,5]
>
3
4
44
3
T
T3
T[ ]
>
3
2
2
3
T
T
3
T
>
3
5
5
3
T
T3
T
Sylvain Hallé & Hugo Tremblay
Part of
Most provenance models implicitly involve the
concept of "part of"
Straightforward in the relational world...
Sylvain Hallé & Hugo Tremblay
Part of
Most provenance models implicitly involve the
concept of "part of"
Straightforward in the relational world...
a relation R
Sylvain Hallé & Hugo Tremblay
Part of
Most provenance models implicitly involve the
concept of "part of"
Straightforward in the relational world...
a relation R
a part of R
⊆
Sylvain Hallé & Hugo Tremblay
Part of
Most provenance models implicitly involve the
concept of "part of"
Straightforward in the relational world...
a relation R
a part of R
⊆
a tuple t
a=v
a=v
a=v
a=v
a=v
a=v
a=v
Sylvain Hallé & Hugo Tremblay
Part of
Most provenance models implicitly involve the
concept of "part of"
Straightforward in the relational world...
a relation R
a part of R
⊆
a tuple t
a=v
a=v
a=v
a=v
a=v
a=v
a=v
a part of t
⊆
Sylvain Hallé & Hugo Tremblay
Part of
Most provenance models implicitly involve the
concept of "part of"
Straightforward in the relational world...
a relation R
a part of R
⊆
a tuple t
a=v
a=v
a=v
a=v
a=v
a=v
a=v
a part of t
⊆
What if the universe of discourse is not only made
of sets?
Sylvain Hallé & Hugo Tremblay
Our proposed model is based on an abstract
topology of objects
Topology of objects
𝖀 is a set of objects
⊑ is a partial order between objects ("part of")
□ is the only object that is part of all others
We suppose that ⊑ follows the intuition for common
objects:
scalars have no parts but themselves
a part of a set is a subset or a single element
a part of a string (list) is a sub-string (-list)
Sylvain Hallé & Hugo Tremblay
A designator is any function that takes an object
and returns a part of this object. Examples:
Designator
[i] the i-th item of a list
[i : j] the substring between characters i and j
the contents of some file
the i-th input pin of a function
the i-th output pin of a function
↑i
↓i
Sylvain Hallé & Hugo Tremblay
Designators can be composed:
↑2 [3] [1:5]◦ ◦
A designator is any function that takes an object
and returns a part of this object. Examples:
Designator
[i] the i-th item of a list
[i : j] the substring between characters i and j
the contents of some file
the i-th input pin of a function
the i-th output pin of a function
↑i
↓i
Sylvain Hallé & Hugo Tremblay
Designators can be composed:
↑2 [3] [1:5]◦ ◦
"The first five characters of the third
item of the second argument of the
function"
A designator is any function that takes an object
and returns a part of this object. Examples:
Designator
[i] the i-th item of a list
[i : j] the substring between characters i and j
the contents of some file
the i-th input pin of a function
the i-th output pin of a function
↑i
↓i
Sylvain Hallé & Hugo Tremblay
Designation graph
∧
↓ , f1
< <
↑ , f1< <
∧
[1],↑ , f2< < [1],↑ , f3< <
A designation graph is an and-or directed acyclic
graph (DAG) where:
the endpoints are made of a designator d and a
function f
the head of d points to an input or an output of f
It expresses an "and-or"
relationship between
function inputs and
function outputs in a
circuit.
Sylvain Hallé & Hugo Tremblay
Given a function f with m inputs and n outputs, a
derivation operator is a function ∆f:
Derivation
∆f : 𝕯 × 𝖀m
× 𝖀n
→ 𝕿
Sylvain Hallé & Hugo Tremblay
Given a function f with m inputs and n outputs, a
derivation operator is a function ∆f:
Derivation
∆f : 𝕯 × 𝖀m
× 𝖀n
→ 𝕿
designator function
input
function
output
designation
graph
Sylvain Hallé & Hugo Tremblay
Given a function f with m inputs and n outputs, a
derivation operator is a function ∆f:
Derivation
∆f : 𝕯 × 𝖀m
× 𝖀n
→ 𝕿
The graph must be such that:
its root is the designator d given to ∆f
if d's head points to an input of f, the leaves
point to an output of f (and vice versa)
designator function
input
function
output
designation
graph
Sylvain Hallé & Hugo Tremblay
Given a circuit an input/output
pair and a designator, one can
reconstruct the derivation for the
circuit by connecting the ends of
the derivation graph for each
individual function.
Derivation for circuits
>
+
×
>
>
3
Sylvain Hallé & Hugo Tremblay
Given a circuit an input/output
pair and a designator, one can
reconstruct the derivation for the
circuit by connecting the ends of
the derivation graph for each
individual function.
Derivation for circuits
>
+
×
>
>
3
⊤
2
6
3
Sylvain Hallé & Hugo Tremblay
Given a circuit an input/output
pair and a designator, one can
reconstruct the derivation for the
circuit by connecting the ends of
the derivation graph for each
individual function.
Derivation for circuits
>
+
×
>
>
3
⊤
2
6
3
∧
↓ ,1
< <
>
↑ ,1< <
>
∧
↓ ,1
< < >
∧
↑ ,1< < > ↑ ,2< < >
∧
↓ ,2
< <
∧
↓ ,2
< < 3
Sylvain Hallé & Hugo Tremblay
Given a circuit an input/output
pair and a designator, one can
reconstruct the derivation for the
circuit by connecting the ends of
the derivation graph for each
individual function.
Derivation for circuits
>
+
×
>
>
3
⊤
2
6
3
∧
↓ ,1
< <
>
↑ ,1< <
>
∧
↓ ,1
< < >
∧
↑ ,1< < > ↑ ,2< < >
∧
↓ ,2
< <
∧
↓ ,2
< < 3
6 3
Sylvain Hallé & Hugo Tremblay
Given a circuit an input/output
pair and a designator, one can
reconstruct the derivation for the
circuit by connecting the ends of
the derivation graph for each
individual function.
Derivation for circuits
>
+
×
>
>
3
⊤
2
6
3
∧
↓ ,1
< <
>
↑ ,1< <
>
∧
↓ ,1
< < >
∧
↑ ,1< < > ↑ ,2< < >
∧
↓ ,2
< <
∧
↓ ,2
< < 3
6 3
Sylvain Hallé & Hugo Tremblay
/, [2] #
α W
3
x
Gα
>
3
1 2
A
C
3 4
B
5
a b c
a
b
A bigger example
Sylvain Hallé & Hugo Tremblay
/, [2] #
α W
3
x
Gα
>
3
1 2
A
C
3 4
B
5
a b c
a
b
A bigger example
split file
into lines
Sylvain Hallé & Hugo Tremblay
/, [2] #
α W
3
x
Gα
>
3
1 2
A
C
3 4
B
5
a b c
a
b
A bigger example
on each
line...
Sylvain Hallé & Hugo Tremblay
/, [2] #
α W
3
x
Gα
>
3
1 2
A
C
3 4
B
5
a b c
a
b
A bigger example
split on
commas
Sylvain Hallé & Hugo Tremblay
/, [2] #
α W
3
x
Gα
>
3
1 2
A
C
3 4
B
5
a b c
a
b
A bigger example
take
second
element
Sylvain Hallé & Hugo Tremblay
/, [2] #
α W
3
x
Gα
>
3
1 2
A
C
3 4
B
5
a b c
a
b
A bigger example
convert to
number
Sylvain Hallé & Hugo Tremblay
/, [2] #
α W
3
x
Gα
>
3
1 2
A
C
3 4
B
5
a b c
a
b
A bigger example
on each
window of
3 values...
Sylvain Hallé & Hugo Tremblay
/, [2] #
α W
3
x
Gα
>
3
1 2
A
C
3 4
B
5
a b c
a
b
A bigger example
take the
average
Sylvain Hallé & Hugo Tremblay
/, [2] #
α W
3
x
Gα
>
3
1 2
A
C
3 4
B
5
a b c
a
b
A bigger example
on each
average...
Sylvain Hallé & Hugo Tremblay
/, [2] #
α W
3
x
Gα
>
3
1 2
A
C
3 4
B
5
a b c
a
b
A bigger example
check that is
is greater than 3
Sylvain Hallé & Hugo Tremblay
/, [2] #
α W
3
x
Gα
>
3
1 2
A
C
3 4
B
5
a b c
a
b
A bigger example
assert they
are all so
Sylvain Hallé & Hugo Tremblay
⊤the,2,penny
fool,7,lane
on,18,come
the,2,together
hill,-80,i
strawberry,7,am
fields,1,the
forever,10,walrus
/, [2] #
α W
3
x
Gα
>
3
1 2
A
C
3 4
B
5
a b c
a
b
A bigger example
Sylvain Hallé & Hugo Tremblay
⊤the,2,penny
fool,7,lane
on,18,come
the,2,together
hill,-80,i
strawberry,7,am
fields,1,the
forever,10,walrus
∧
↓ , G1< <
∧ ∧∧
[4:5], [3] ,< < [5:5], [4] ,< < [6:8], [5] ,< < [8:8], [7] ,< <[ : ], [6] ,< <12 12
/, [2] #
α W
3
x
Gα
>
3
1 2
A
C
3 4
B
5
a b c
a
b
A bigger example
Sylvain Hallé & Hugo Tremblay
⊤the,2,penny
fool,7,lane
on,18,come
the,2,together
hill,-80,i
strawberry,7,am
fields,1,the
forever,10,walrus
∧
↓ , G1< <
∧ ∧∧
[4:5], [3] ,< < [5:5], [4] ,< < [6:8], [5] ,< < [8:8], [7] ,< <[ : ], [6] ,< <12 12
/, [2] #
α W
3
x
Gα
>
3
1 2
A
C
3 4
B
5
a b c
a
b
A bigger example
Sylvain Hallé & Hugo Tremblay
⊤the,2,penny
fool,7,lane
on,18,come
the,2,together
hill,-80,i
strawberry,7,am
fields,1,the
forever,10,walrus
∧
↓ , G1< <
∧ ∧∧
[4:5], [3] ,< < [5:5], [4] ,< < [6:8], [5] ,< < [8:8], [7] ,< <[ : ], [6] ,< <12 12
∧
/, [2] #
α W
3
x
Gα
>
3
1 2
A
C
3 4
B
5
a b c
a
b
A bigger example
Sylvain Hallé & Hugo Tremblay
⊤the,2,penny
fool,7,lane
on,18,come
the,2,together
hill,-80,i
strawberry,7,am
fields,1,the
forever,10,walrus
∧
↓ , G1< <
∧ ∧∧
[4:5], [3] ,< < [5:5], [4] ,< < [6:8], [5] ,< < [8:8], [7] ,< <[ : ], [6] ,< <12 12
∧
/, [2] #
α W
3
x
Gα
>
3
1 2
A
C
3 4
B
5
a b c
a
b
A bigger example
Sylvain Hallé & Hugo Tremblay
Observations
Pros
generic computation model (circuits)
not limited to tuples and relations
modular (define ∆f separately for each f)
support for alternate lineage ("or" nodes)
fine granularity (parts of objects)
same algorithm, different lineage depending on
definition of ∆f for each function f
Cons
who defines ∆f ? according to what requirements ?
circuits: a way to program, or a model to reason
about a program ?
Sylvain Hallé & Hugo Tremblay
Future work
Provide formal definitions of ∆ that correspond
to various (existing) provenance relationships
Implement and test a proof of concept
(under way: https://github.com/liflab/petitpoucet)
Retrofit this framework into existing software
(BeepBeep, Cornipickle)
Study circuits according to the designation
graphs they induce
Thank you!

More Related Content

What's hot (20)

Functional Programming with JavaScript
Functional Programming with JavaScriptFunctional Programming with JavaScript
Functional Programming with JavaScript
WebF
 
Refactoring Functional Type Classes
Refactoring Functional Type ClassesRefactoring Functional Type Classes
Refactoring Functional Type Classes
John De Goes
 
N-Queens Combinatorial Problem - Polyglot FP for fun and profit - Haskell and...
N-Queens Combinatorial Problem - Polyglot FP for fun and profit - Haskell and...N-Queens Combinatorial Problem - Polyglot FP for fun and profit - Haskell and...
N-Queens Combinatorial Problem - Polyglot FP for fun and profit - Haskell and...
Philip Schwarz
 
Futures e abstração - QCon São Paulo 2015
Futures e abstração - QCon São Paulo 2015Futures e abstração - QCon São Paulo 2015
Futures e abstração - QCon São Paulo 2015
Leonardo Borges
 
Array within a class
Array within a classArray within a class
Array within a class
AAKASH KUMAR
 
Monadic Comprehensions and Functional Composition with Query Expressions
Monadic Comprehensions and Functional Composition with Query ExpressionsMonadic Comprehensions and Functional Composition with Query Expressions
Monadic Comprehensions and Functional Composition with Query Expressions
Chris Eargle
 
Chapter 3 Arrays in Java
Chapter 3 Arrays in JavaChapter 3 Arrays in Java
Chapter 3 Arrays in Java
Khirulnizam Abd Rahman
 
Functional Core and Imperative Shell - Game of Life Example - Haskell and Scala
Functional Core and Imperative Shell - Game of Life Example - Haskell and ScalaFunctional Core and Imperative Shell - Game of Life Example - Haskell and Scala
Functional Core and Imperative Shell - Game of Life Example - Haskell and Scala
Philip Schwarz
 
Chapter 4 - Classes in Java
Chapter 4 - Classes in JavaChapter 4 - Classes in Java
Chapter 4 - Classes in Java
Khirulnizam Abd Rahman
 
Monads do not Compose
Monads do not ComposeMonads do not Compose
Monads do not Compose
Philip Schwarz
 
Reasoning about laziness
Reasoning about lazinessReasoning about laziness
Reasoning about laziness
Johan Tibell
 
Functional Programming in R
Functional Programming in RFunctional Programming in R
Functional Programming in R
David Springate
 
20170317 functional programming in julia
20170317 functional programming in julia20170317 functional programming in julia
20170317 functional programming in julia
岳華 杜
 
Lec2
Lec2Lec2
Lec2
Anjneya Varshney
 
Functions in advanced programming
Functions in advanced programmingFunctions in advanced programming
Functions in advanced programming
VisnuDharsini
 
A brief introduction to apply functions
A brief introduction to apply functionsA brief introduction to apply functions
A brief introduction to apply functions
NIKET CHAURASIA
 
Lec3
Lec3Lec3
Lec3
Nikhil Chilwant
 
Functional programming basics
Functional programming basicsFunctional programming basics
Functional programming basics
openbala
 
Simple IO Monad in 'Functional Programming in Scala'
Simple IO Monad in 'Functional Programming in Scala'Simple IO Monad in 'Functional Programming in Scala'
Simple IO Monad in 'Functional Programming in Scala'
Philip Schwarz
 
Monoids - Part 1 - with examples using Scalaz and Cats
Monoids - Part 1 - with examples using Scalaz and CatsMonoids - Part 1 - with examples using Scalaz and Cats
Monoids - Part 1 - with examples using Scalaz and Cats
Philip Schwarz
 
Functional Programming with JavaScript
Functional Programming with JavaScriptFunctional Programming with JavaScript
Functional Programming with JavaScript
WebF
 
Refactoring Functional Type Classes
Refactoring Functional Type ClassesRefactoring Functional Type Classes
Refactoring Functional Type Classes
John De Goes
 
N-Queens Combinatorial Problem - Polyglot FP for fun and profit - Haskell and...
N-Queens Combinatorial Problem - Polyglot FP for fun and profit - Haskell and...N-Queens Combinatorial Problem - Polyglot FP for fun and profit - Haskell and...
N-Queens Combinatorial Problem - Polyglot FP for fun and profit - Haskell and...
Philip Schwarz
 
Futures e abstração - QCon São Paulo 2015
Futures e abstração - QCon São Paulo 2015Futures e abstração - QCon São Paulo 2015
Futures e abstração - QCon São Paulo 2015
Leonardo Borges
 
Array within a class
Array within a classArray within a class
Array within a class
AAKASH KUMAR
 
Monadic Comprehensions and Functional Composition with Query Expressions
Monadic Comprehensions and Functional Composition with Query ExpressionsMonadic Comprehensions and Functional Composition with Query Expressions
Monadic Comprehensions and Functional Composition with Query Expressions
Chris Eargle
 
Functional Core and Imperative Shell - Game of Life Example - Haskell and Scala
Functional Core and Imperative Shell - Game of Life Example - Haskell and ScalaFunctional Core and Imperative Shell - Game of Life Example - Haskell and Scala
Functional Core and Imperative Shell - Game of Life Example - Haskell and Scala
Philip Schwarz
 
Reasoning about laziness
Reasoning about lazinessReasoning about laziness
Reasoning about laziness
Johan Tibell
 
Functional Programming in R
Functional Programming in RFunctional Programming in R
Functional Programming in R
David Springate
 
20170317 functional programming in julia
20170317 functional programming in julia20170317 functional programming in julia
20170317 functional programming in julia
岳華 杜
 
Functions in advanced programming
Functions in advanced programmingFunctions in advanced programming
Functions in advanced programming
VisnuDharsini
 
A brief introduction to apply functions
A brief introduction to apply functionsA brief introduction to apply functions
A brief introduction to apply functions
NIKET CHAURASIA
 
Functional programming basics
Functional programming basicsFunctional programming basics
Functional programming basics
openbala
 
Simple IO Monad in 'Functional Programming in Scala'
Simple IO Monad in 'Functional Programming in Scala'Simple IO Monad in 'Functional Programming in Scala'
Simple IO Monad in 'Functional Programming in Scala'
Philip Schwarz
 
Monoids - Part 1 - with examples using Scalaz and Cats
Monoids - Part 1 - with examples using Scalaz and CatsMonoids - Part 1 - with examples using Scalaz and Cats
Monoids - Part 1 - with examples using Scalaz and Cats
Philip Schwarz
 

Similar to A Generic Explainability Framework for Function Circuits (20)

Lecture 3.1 to 3.2 bt
Lecture 3.1 to 3.2 btLecture 3.1 to 3.2 bt
Lecture 3.1 to 3.2 bt
btmathematics
 
Introductory part of function for class 12th JEE
Introductory part of function for class 12th JEEIntroductory part of function for class 12th JEE
Introductory part of function for class 12th JEE
MohanSonawane
 
Section 2.1 functions
Section 2.1 functions Section 2.1 functions
Section 2.1 functions
Wong Hsiung
 
2.1 Basics of Functions and Their Graphs
2.1 Basics of Functions and Their Graphs2.1 Basics of Functions and Their Graphs
2.1 Basics of Functions and Their Graphs
smiller5
 
Module 1 Lesson 1 Remediation Notes
Module 1 Lesson 1 Remediation NotesModule 1 Lesson 1 Remediation Notes
Module 1 Lesson 1 Remediation Notes
toni dimella
 
Unit 1.4
Unit 1.4Unit 1.4
Unit 1.4
Mark Ryder
 
Illustrating-Axiomatic-Structures-of-a-Mathematical-System-Quarter-3.pptx
Illustrating-Axiomatic-Structures-of-a-Mathematical-System-Quarter-3.pptxIllustrating-Axiomatic-Structures-of-a-Mathematical-System-Quarter-3.pptx
Illustrating-Axiomatic-Structures-of-a-Mathematical-System-Quarter-3.pptx
almirapernito2
 
Storyboard math
Storyboard mathStoryboard math
Storyboard math
shandex
 
Relations and functions
Relations and functions Relations and functions
Relations and functions
Nabeel Simair
 
2)-Functions-and-Graphs Presentation.pptx
2)-Functions-and-Graphs Presentation.pptx2)-Functions-and-Graphs Presentation.pptx
2)-Functions-and-Graphs Presentation.pptx
SameerFaisal11
 
Relations and functions
Relations and functionsRelations and functions
Relations and functions
Dreams4school
 
Chpt-2-Functions-Seqs_v.5.ppt Function and Sequences
Chpt-2-Functions-Seqs_v.5.ppt Function and SequencesChpt-2-Functions-Seqs_v.5.ppt Function and Sequences
Chpt-2-Functions-Seqs_v.5.ppt Function and Sequences
MsCoheenaKrishnan
 
Lecture in Functions-Sequences and summations
Lecture in Functions-Sequences and summationsLecture in Functions-Sequences and summations
Lecture in Functions-Sequences and summations
Kamal El-Saady
 
lecture in Functions and Sequences and their properties
lecture in Functions and Sequences and their propertieslecture in Functions and Sequences and their properties
lecture in Functions and Sequences and their properties
Kamal El-Saady
 
KSSM Form 4 Additional Mathematics Notes (Chapter 1-5)
KSSM Form 4 Additional Mathematics Notes (Chapter 1-5)KSSM Form 4 Additional Mathematics Notes (Chapter 1-5)
KSSM Form 4 Additional Mathematics Notes (Chapter 1-5)
Lai Zhi Jun
 
1 Functions. Function is a rule but not all rules are functions.
1 Functions. Function is a rule but not all rules are functions.1 Functions. Function is a rule but not all rules are functions.
1 Functions. Function is a rule but not all rules are functions.
ebukadonatus
 
Functional Programming.pptx
Functional Programming.pptxFunctional Programming.pptx
Functional Programming.pptx
KarthickT28
 
Functional Programming Languages slidesslies.ppt
Functional Programming Languages slidesslies.pptFunctional Programming Languages slidesslies.ppt
Functional Programming Languages slidesslies.ppt
BikalAdhikari4
 
384541910-Relations-and-Functions-ppt.ppt
384541910-Relations-and-Functions-ppt.ppt384541910-Relations-and-Functions-ppt.ppt
384541910-Relations-and-Functions-ppt.ppt
cirjaneboy
 
384541910-relations-and-functions-ppt-241117114200-b268ed13.ppt
384541910-relations-and-functions-ppt-241117114200-b268ed13.ppt384541910-relations-and-functions-ppt-241117114200-b268ed13.ppt
384541910-relations-and-functions-ppt-241117114200-b268ed13.ppt
cirjaneboy
 
Lecture 3.1 to 3.2 bt
Lecture 3.1 to 3.2 btLecture 3.1 to 3.2 bt
Lecture 3.1 to 3.2 bt
btmathematics
 
Introductory part of function for class 12th JEE
Introductory part of function for class 12th JEEIntroductory part of function for class 12th JEE
Introductory part of function for class 12th JEE
MohanSonawane
 
Section 2.1 functions
Section 2.1 functions Section 2.1 functions
Section 2.1 functions
Wong Hsiung
 
2.1 Basics of Functions and Their Graphs
2.1 Basics of Functions and Their Graphs2.1 Basics of Functions and Their Graphs
2.1 Basics of Functions and Their Graphs
smiller5
 
Module 1 Lesson 1 Remediation Notes
Module 1 Lesson 1 Remediation NotesModule 1 Lesson 1 Remediation Notes
Module 1 Lesson 1 Remediation Notes
toni dimella
 
Illustrating-Axiomatic-Structures-of-a-Mathematical-System-Quarter-3.pptx
Illustrating-Axiomatic-Structures-of-a-Mathematical-System-Quarter-3.pptxIllustrating-Axiomatic-Structures-of-a-Mathematical-System-Quarter-3.pptx
Illustrating-Axiomatic-Structures-of-a-Mathematical-System-Quarter-3.pptx
almirapernito2
 
Storyboard math
Storyboard mathStoryboard math
Storyboard math
shandex
 
Relations and functions
Relations and functions Relations and functions
Relations and functions
Nabeel Simair
 
2)-Functions-and-Graphs Presentation.pptx
2)-Functions-and-Graphs Presentation.pptx2)-Functions-and-Graphs Presentation.pptx
2)-Functions-and-Graphs Presentation.pptx
SameerFaisal11
 
Relations and functions
Relations and functionsRelations and functions
Relations and functions
Dreams4school
 
Chpt-2-Functions-Seqs_v.5.ppt Function and Sequences
Chpt-2-Functions-Seqs_v.5.ppt Function and SequencesChpt-2-Functions-Seqs_v.5.ppt Function and Sequences
Chpt-2-Functions-Seqs_v.5.ppt Function and Sequences
MsCoheenaKrishnan
 
Lecture in Functions-Sequences and summations
Lecture in Functions-Sequences and summationsLecture in Functions-Sequences and summations
Lecture in Functions-Sequences and summations
Kamal El-Saady
 
lecture in Functions and Sequences and their properties
lecture in Functions and Sequences and their propertieslecture in Functions and Sequences and their properties
lecture in Functions and Sequences and their properties
Kamal El-Saady
 
KSSM Form 4 Additional Mathematics Notes (Chapter 1-5)
KSSM Form 4 Additional Mathematics Notes (Chapter 1-5)KSSM Form 4 Additional Mathematics Notes (Chapter 1-5)
KSSM Form 4 Additional Mathematics Notes (Chapter 1-5)
Lai Zhi Jun
 
1 Functions. Function is a rule but not all rules are functions.
1 Functions. Function is a rule but not all rules are functions.1 Functions. Function is a rule but not all rules are functions.
1 Functions. Function is a rule but not all rules are functions.
ebukadonatus
 
Functional Programming.pptx
Functional Programming.pptxFunctional Programming.pptx
Functional Programming.pptx
KarthickT28
 
Functional Programming Languages slidesslies.ppt
Functional Programming Languages slidesslies.pptFunctional Programming Languages slidesslies.ppt
Functional Programming Languages slidesslies.ppt
BikalAdhikari4
 
384541910-Relations-and-Functions-ppt.ppt
384541910-Relations-and-Functions-ppt.ppt384541910-Relations-and-Functions-ppt.ppt
384541910-Relations-and-Functions-ppt.ppt
cirjaneboy
 
384541910-relations-and-functions-ppt-241117114200-b268ed13.ppt
384541910-relations-and-functions-ppt-241117114200-b268ed13.ppt384541910-relations-and-functions-ppt-241117114200-b268ed13.ppt
384541910-relations-and-functions-ppt-241117114200-b268ed13.ppt
cirjaneboy
 
Ad

More from Sylvain Hallé (20)

A Tree-Based Definition of Business Process Conformance (Talk @ EDOC 2024)
A Tree-Based Definition of Business Process Conformance (Talk @ EDOC 2024)A Tree-Based Definition of Business Process Conformance (Talk @ EDOC 2024)
A Tree-Based Definition of Business Process Conformance (Talk @ EDOC 2024)
Sylvain Hallé
 
Monitoring Business Process Compliance Across Multiple Executions with Stream...
Monitoring Business Process Compliance Across Multiple Executions with Stream...Monitoring Business Process Compliance Across Multiple Executions with Stream...
Monitoring Business Process Compliance Across Multiple Executions with Stream...
Sylvain Hallé
 
A Stream-Based Approach to Intrusion Detection
A Stream-Based Approach to Intrusion DetectionA Stream-Based Approach to Intrusion Detection
A Stream-Based Approach to Intrusion Detection
Sylvain Hallé
 
Event Stream Processing with BeepBeep 3
Event Stream Processing with BeepBeep 3Event Stream Processing with BeepBeep 3
Event Stream Processing with BeepBeep 3
Sylvain Hallé
 
Smart Contracts-Enabled Simulation for Hyperconnected Logistics
Smart Contracts-Enabled Simulation for Hyperconnected LogisticsSmart Contracts-Enabled Simulation for Hyperconnected Logistics
Smart Contracts-Enabled Simulation for Hyperconnected Logistics
Sylvain Hallé
 
Test Suite Generation for Boolean Conditions with Equivalence Class Partitioning
Test Suite Generation for Boolean Conditions with Equivalence Class PartitioningTest Suite Generation for Boolean Conditions with Equivalence Class Partitioning
Test Suite Generation for Boolean Conditions with Equivalence Class Partitioning
Sylvain Hallé
 
Synthia: a Generic and Flexible Data Structure Generator (Long Version)
Synthia: a Generic and Flexible Data Structure Generator (Long Version)Synthia: a Generic and Flexible Data Structure Generator (Long Version)
Synthia: a Generic and Flexible Data Structure Generator (Long Version)
Sylvain Hallé
 
Test Sequence Generation with Cayley Graphs (Talk @ A-MOST 2021)
Test Sequence Generation with Cayley Graphs (Talk @ A-MOST 2021)Test Sequence Generation with Cayley Graphs (Talk @ A-MOST 2021)
Test Sequence Generation with Cayley Graphs (Talk @ A-MOST 2021)
Sylvain Hallé
 
Efficient Offline Monitoring of LTL with Bit Vectors (Talk at SAC 2021)
Efficient Offline Monitoring of LTL with Bit Vectors (Talk at SAC 2021)Efficient Offline Monitoring of LTL with Bit Vectors (Talk at SAC 2021)
Efficient Offline Monitoring of LTL with Bit Vectors (Talk at SAC 2021)
Sylvain Hallé
 
Detecting Responsive Web Design Bugs with Declarative Specifications
Detecting Responsive Web Design Bugs with Declarative SpecificationsDetecting Responsive Web Design Bugs with Declarative Specifications
Detecting Responsive Web Design Bugs with Declarative Specifications
Sylvain Hallé
 
Streamlining the Inclusion of Computer Experiments in Research Papers
Streamlining the Inclusion of Computer Experiments in Research PapersStreamlining the Inclusion of Computer Experiments in Research Papers
Streamlining the Inclusion of Computer Experiments in Research Papers
Sylvain Hallé
 
Writing Domain-Specific Languages for BeepBeep
Writing Domain-Specific Languages for BeepBeepWriting Domain-Specific Languages for BeepBeep
Writing Domain-Specific Languages for BeepBeep
Sylvain Hallé
 
Real-Time Data Mining for Event Streams
Real-Time Data Mining for Event StreamsReal-Time Data Mining for Event Streams
Real-Time Data Mining for Event Streams
Sylvain Hallé
 
Technologies intelligentes d'aide au développement d'applications web (WAQ 2018)
Technologies intelligentes d'aide au développement d'applications web (WAQ 2018)Technologies intelligentes d'aide au développement d'applications web (WAQ 2018)
Technologies intelligentes d'aide au développement d'applications web (WAQ 2018)
Sylvain Hallé
 
Mining event streams with BeepBeep 3
Mining event streams with BeepBeep 3Mining event streams with BeepBeep 3
Mining event streams with BeepBeep 3
Sylvain Hallé
 
LabPal: Repeatable Computer Experiments Made Easy (ACM Workshop Talk)
LabPal: Repeatable Computer Experiments Made Easy (ACM Workshop Talk)LabPal: Repeatable Computer Experiments Made Easy (ACM Workshop Talk)
LabPal: Repeatable Computer Experiments Made Easy (ACM Workshop Talk)
Sylvain Hallé
 
A "Do-It-Yourself" Specification Language with BeepBeep 3 (Talk @ Dagstuhl 2017)
A "Do-It-Yourself" Specification Language with BeepBeep 3 (Talk @ Dagstuhl 2017)A "Do-It-Yourself" Specification Language with BeepBeep 3 (Talk @ Dagstuhl 2017)
A "Do-It-Yourself" Specification Language with BeepBeep 3 (Talk @ Dagstuhl 2017)
Sylvain Hallé
 
Event Stream Processing with Multiple Threads
Event Stream Processing with Multiple ThreadsEvent Stream Processing with Multiple Threads
Event Stream Processing with Multiple Threads
Sylvain Hallé
 
A Few Things We Heard About RV Tools (Position Paper)
A Few Things We Heard About RV Tools (Position Paper)A Few Things We Heard About RV Tools (Position Paper)
A Few Things We Heard About RV Tools (Position Paper)
Sylvain Hallé
 
Solving Equations on Words with Morphisms and Antimorphisms
Solving Equations on Words with Morphisms and AntimorphismsSolving Equations on Words with Morphisms and Antimorphisms
Solving Equations on Words with Morphisms and Antimorphisms
Sylvain Hallé
 
A Tree-Based Definition of Business Process Conformance (Talk @ EDOC 2024)
A Tree-Based Definition of Business Process Conformance (Talk @ EDOC 2024)A Tree-Based Definition of Business Process Conformance (Talk @ EDOC 2024)
A Tree-Based Definition of Business Process Conformance (Talk @ EDOC 2024)
Sylvain Hallé
 
Monitoring Business Process Compliance Across Multiple Executions with Stream...
Monitoring Business Process Compliance Across Multiple Executions with Stream...Monitoring Business Process Compliance Across Multiple Executions with Stream...
Monitoring Business Process Compliance Across Multiple Executions with Stream...
Sylvain Hallé
 
A Stream-Based Approach to Intrusion Detection
A Stream-Based Approach to Intrusion DetectionA Stream-Based Approach to Intrusion Detection
A Stream-Based Approach to Intrusion Detection
Sylvain Hallé
 
Event Stream Processing with BeepBeep 3
Event Stream Processing with BeepBeep 3Event Stream Processing with BeepBeep 3
Event Stream Processing with BeepBeep 3
Sylvain Hallé
 
Smart Contracts-Enabled Simulation for Hyperconnected Logistics
Smart Contracts-Enabled Simulation for Hyperconnected LogisticsSmart Contracts-Enabled Simulation for Hyperconnected Logistics
Smart Contracts-Enabled Simulation for Hyperconnected Logistics
Sylvain Hallé
 
Test Suite Generation for Boolean Conditions with Equivalence Class Partitioning
Test Suite Generation for Boolean Conditions with Equivalence Class PartitioningTest Suite Generation for Boolean Conditions with Equivalence Class Partitioning
Test Suite Generation for Boolean Conditions with Equivalence Class Partitioning
Sylvain Hallé
 
Synthia: a Generic and Flexible Data Structure Generator (Long Version)
Synthia: a Generic and Flexible Data Structure Generator (Long Version)Synthia: a Generic and Flexible Data Structure Generator (Long Version)
Synthia: a Generic and Flexible Data Structure Generator (Long Version)
Sylvain Hallé
 
Test Sequence Generation with Cayley Graphs (Talk @ A-MOST 2021)
Test Sequence Generation with Cayley Graphs (Talk @ A-MOST 2021)Test Sequence Generation with Cayley Graphs (Talk @ A-MOST 2021)
Test Sequence Generation with Cayley Graphs (Talk @ A-MOST 2021)
Sylvain Hallé
 
Efficient Offline Monitoring of LTL with Bit Vectors (Talk at SAC 2021)
Efficient Offline Monitoring of LTL with Bit Vectors (Talk at SAC 2021)Efficient Offline Monitoring of LTL with Bit Vectors (Talk at SAC 2021)
Efficient Offline Monitoring of LTL with Bit Vectors (Talk at SAC 2021)
Sylvain Hallé
 
Detecting Responsive Web Design Bugs with Declarative Specifications
Detecting Responsive Web Design Bugs with Declarative SpecificationsDetecting Responsive Web Design Bugs with Declarative Specifications
Detecting Responsive Web Design Bugs with Declarative Specifications
Sylvain Hallé
 
Streamlining the Inclusion of Computer Experiments in Research Papers
Streamlining the Inclusion of Computer Experiments in Research PapersStreamlining the Inclusion of Computer Experiments in Research Papers
Streamlining the Inclusion of Computer Experiments in Research Papers
Sylvain Hallé
 
Writing Domain-Specific Languages for BeepBeep
Writing Domain-Specific Languages for BeepBeepWriting Domain-Specific Languages for BeepBeep
Writing Domain-Specific Languages for BeepBeep
Sylvain Hallé
 
Real-Time Data Mining for Event Streams
Real-Time Data Mining for Event StreamsReal-Time Data Mining for Event Streams
Real-Time Data Mining for Event Streams
Sylvain Hallé
 
Technologies intelligentes d'aide au développement d'applications web (WAQ 2018)
Technologies intelligentes d'aide au développement d'applications web (WAQ 2018)Technologies intelligentes d'aide au développement d'applications web (WAQ 2018)
Technologies intelligentes d'aide au développement d'applications web (WAQ 2018)
Sylvain Hallé
 
Mining event streams with BeepBeep 3
Mining event streams with BeepBeep 3Mining event streams with BeepBeep 3
Mining event streams with BeepBeep 3
Sylvain Hallé
 
LabPal: Repeatable Computer Experiments Made Easy (ACM Workshop Talk)
LabPal: Repeatable Computer Experiments Made Easy (ACM Workshop Talk)LabPal: Repeatable Computer Experiments Made Easy (ACM Workshop Talk)
LabPal: Repeatable Computer Experiments Made Easy (ACM Workshop Talk)
Sylvain Hallé
 
A "Do-It-Yourself" Specification Language with BeepBeep 3 (Talk @ Dagstuhl 2017)
A "Do-It-Yourself" Specification Language with BeepBeep 3 (Talk @ Dagstuhl 2017)A "Do-It-Yourself" Specification Language with BeepBeep 3 (Talk @ Dagstuhl 2017)
A "Do-It-Yourself" Specification Language with BeepBeep 3 (Talk @ Dagstuhl 2017)
Sylvain Hallé
 
Event Stream Processing with Multiple Threads
Event Stream Processing with Multiple ThreadsEvent Stream Processing with Multiple Threads
Event Stream Processing with Multiple Threads
Sylvain Hallé
 
A Few Things We Heard About RV Tools (Position Paper)
A Few Things We Heard About RV Tools (Position Paper)A Few Things We Heard About RV Tools (Position Paper)
A Few Things We Heard About RV Tools (Position Paper)
Sylvain Hallé
 
Solving Equations on Words with Morphisms and Antimorphisms
Solving Equations on Words with Morphisms and AntimorphismsSolving Equations on Words with Morphisms and Antimorphisms
Solving Equations on Words with Morphisms and Antimorphisms
Sylvain Hallé
 
Ad

Recently uploaded (20)

Dev Dives: System-to-system integration with UiPath API Workflows
Dev Dives: System-to-system integration with UiPath API WorkflowsDev Dives: System-to-system integration with UiPath API Workflows
Dev Dives: System-to-system integration with UiPath API Workflows
UiPathCommunity
 
Measuring Microsoft 365 Copilot and Gen AI Success
Measuring Microsoft 365 Copilot and Gen AI SuccessMeasuring Microsoft 365 Copilot and Gen AI Success
Measuring Microsoft 365 Copilot and Gen AI Success
Nikki Chapple
 
Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generati...
Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generati...Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generati...
Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generati...
Aaryan Kansari
 
Cybersecurity Fundamentals: Apprentice - Palo Alto Certificate
Cybersecurity Fundamentals: Apprentice - Palo Alto CertificateCybersecurity Fundamentals: Apprentice - Palo Alto Certificate
Cybersecurity Fundamentals: Apprentice - Palo Alto Certificate
VICTOR MAESTRE RAMIREZ
 
TrustArc Webinar: Mastering Privacy Contracting
TrustArc Webinar: Mastering Privacy ContractingTrustArc Webinar: Mastering Privacy Contracting
TrustArc Webinar: Mastering Privacy Contracting
TrustArc
 
The case for on-premises AI
The case for on-premises AIThe case for on-premises AI
The case for on-premises AI
Principled Technologies
 
Let’s Get Slack Certified! 🚀- Slack Community
Let’s Get Slack Certified! 🚀- Slack CommunityLet’s Get Slack Certified! 🚀- Slack Community
Let’s Get Slack Certified! 🚀- Slack Community
SanjeetMishra29
 
New Ways to Reduce Database Costs with ScyllaDB
New Ways to Reduce Database Costs with ScyllaDBNew Ways to Reduce Database Costs with ScyllaDB
New Ways to Reduce Database Costs with ScyllaDB
ScyllaDB
 
AI Trends - Mary Meeker
AI Trends - Mary MeekerAI Trends - Mary Meeker
AI Trends - Mary Meeker
Razin Mustafiz
 
Cyber security cyber security cyber security cyber security cyber security cy...
Cyber security cyber security cyber security cyber security cyber security cy...Cyber security cyber security cyber security cyber security cyber security cy...
Cyber security cyber security cyber security cyber security cyber security cy...
pranavbodhak
 
Jira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : IntroductionJira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : Introduction
Ravi Teja
 
Cognitive Chasms - A Typology of GenAI Failure Failure Modes
Cognitive Chasms - A Typology of GenAI Failure Failure ModesCognitive Chasms - A Typology of GenAI Failure Failure Modes
Cognitive Chasms - A Typology of GenAI Failure Failure Modes
Dr. Tathagat Varma
 
Dr Jimmy Schwarzkopf presentation on the SUMMIT 2025 A
Dr Jimmy Schwarzkopf presentation on the SUMMIT 2025 ADr Jimmy Schwarzkopf presentation on the SUMMIT 2025 A
Dr Jimmy Schwarzkopf presentation on the SUMMIT 2025 A
Dr. Jimmy Schwarzkopf
 
UiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPath Community Berlin: Studio Tips & Tricks and UiPath InsightsUiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPathCommunity
 
Microsoft Build 2025 takeaways in one presentation
Microsoft Build 2025 takeaways in one presentationMicrosoft Build 2025 takeaways in one presentation
Microsoft Build 2025 takeaways in one presentation
Digitalmara
 
Securiport - A Border Security Company
Securiport  -  A Border Security CompanySecuriport  -  A Border Security Company
Securiport - A Border Security Company
Securiport
 
Cyber Security Legal Framework in Nepal.pptx
Cyber Security Legal Framework in Nepal.pptxCyber Security Legal Framework in Nepal.pptx
Cyber Security Legal Framework in Nepal.pptx
Ghimire B.R.
 
Introducing the OSA 3200 SP and OSA 3250 ePRC
Introducing the OSA 3200 SP and OSA 3250 ePRCIntroducing the OSA 3200 SP and OSA 3250 ePRC
Introducing the OSA 3200 SP and OSA 3250 ePRC
Adtran
 
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Nikki Chapple
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
Dev Dives: System-to-system integration with UiPath API Workflows
Dev Dives: System-to-system integration with UiPath API WorkflowsDev Dives: System-to-system integration with UiPath API Workflows
Dev Dives: System-to-system integration with UiPath API Workflows
UiPathCommunity
 
Measuring Microsoft 365 Copilot and Gen AI Success
Measuring Microsoft 365 Copilot and Gen AI SuccessMeasuring Microsoft 365 Copilot and Gen AI Success
Measuring Microsoft 365 Copilot and Gen AI Success
Nikki Chapple
 
Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generati...
Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generati...Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generati...
Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generati...
Aaryan Kansari
 
Cybersecurity Fundamentals: Apprentice - Palo Alto Certificate
Cybersecurity Fundamentals: Apprentice - Palo Alto CertificateCybersecurity Fundamentals: Apprentice - Palo Alto Certificate
Cybersecurity Fundamentals: Apprentice - Palo Alto Certificate
VICTOR MAESTRE RAMIREZ
 
TrustArc Webinar: Mastering Privacy Contracting
TrustArc Webinar: Mastering Privacy ContractingTrustArc Webinar: Mastering Privacy Contracting
TrustArc Webinar: Mastering Privacy Contracting
TrustArc
 
Let’s Get Slack Certified! 🚀- Slack Community
Let’s Get Slack Certified! 🚀- Slack CommunityLet’s Get Slack Certified! 🚀- Slack Community
Let’s Get Slack Certified! 🚀- Slack Community
SanjeetMishra29
 
New Ways to Reduce Database Costs with ScyllaDB
New Ways to Reduce Database Costs with ScyllaDBNew Ways to Reduce Database Costs with ScyllaDB
New Ways to Reduce Database Costs with ScyllaDB
ScyllaDB
 
AI Trends - Mary Meeker
AI Trends - Mary MeekerAI Trends - Mary Meeker
AI Trends - Mary Meeker
Razin Mustafiz
 
Cyber security cyber security cyber security cyber security cyber security cy...
Cyber security cyber security cyber security cyber security cyber security cy...Cyber security cyber security cyber security cyber security cyber security cy...
Cyber security cyber security cyber security cyber security cyber security cy...
pranavbodhak
 
Jira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : IntroductionJira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : Introduction
Ravi Teja
 
Cognitive Chasms - A Typology of GenAI Failure Failure Modes
Cognitive Chasms - A Typology of GenAI Failure Failure ModesCognitive Chasms - A Typology of GenAI Failure Failure Modes
Cognitive Chasms - A Typology of GenAI Failure Failure Modes
Dr. Tathagat Varma
 
Dr Jimmy Schwarzkopf presentation on the SUMMIT 2025 A
Dr Jimmy Schwarzkopf presentation on the SUMMIT 2025 ADr Jimmy Schwarzkopf presentation on the SUMMIT 2025 A
Dr Jimmy Schwarzkopf presentation on the SUMMIT 2025 A
Dr. Jimmy Schwarzkopf
 
UiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPath Community Berlin: Studio Tips & Tricks and UiPath InsightsUiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPathCommunity
 
Microsoft Build 2025 takeaways in one presentation
Microsoft Build 2025 takeaways in one presentationMicrosoft Build 2025 takeaways in one presentation
Microsoft Build 2025 takeaways in one presentation
Digitalmara
 
Securiport - A Border Security Company
Securiport  -  A Border Security CompanySecuriport  -  A Border Security Company
Securiport - A Border Security Company
Securiport
 
Cyber Security Legal Framework in Nepal.pptx
Cyber Security Legal Framework in Nepal.pptxCyber Security Legal Framework in Nepal.pptx
Cyber Security Legal Framework in Nepal.pptx
Ghimire B.R.
 
Introducing the OSA 3200 SP and OSA 3250 ePRC
Introducing the OSA 3200 SP and OSA 3250 ePRCIntroducing the OSA 3200 SP and OSA 3250 ePRC
Introducing the OSA 3200 SP and OSA 3250 ePRC
Adtran
 
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Nikki Chapple
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 

A Generic Explainability Framework for Function Circuits

  • 1. Sylvain Hallé & Hugo Tremblay Sylvain Hallé Hugo Tremblay Université du Québec à Chicoutimi CANADA A Generic Explainability Framework for Function Circuits CRSNG NSERC
  • 2. Sylvain Hallé & Hugo Tremblay + Functions Basic processing unit: function
  • 3. Sylvain Hallé & Hugo Tremblay + Functions Basic processing unit: function input pin(s) output pin(s)
  • 4. Sylvain Hallé & Hugo Tremblay + Functions Basic processing unit: function Given input arguments, a function produces output values
  • 5. Sylvain Hallé & Hugo Tremblay + Functions Basic processing unit: function Given input arguments, a function produces output values 3 2 5
  • 6. Sylvain Hallé & Hugo Tremblay A function can be "anything"; it can be parameterized by another function Functions α 2
  • 7. Sylvain Hallé & Hugo Tremblay A function can be "anything"; it can be parameterized by another function Functions α 2 apply on each element square
  • 8. Sylvain Hallé & Hugo Tremblay A function can be "anything"; it can be parameterized by another function Functions α 2 [4,2,5] [16,4,25]
  • 9. Sylvain Hallé & Hugo Tremblay > + × > > 3 Function circuits Functions can be composed to form circuits
  • 10. Sylvain Hallé & Hugo Tremblay Outputs of "upstream" functions become inputs of "downstream" functions > + × > > 3 Function circuits Functions can be composed to form circuits
  • 11. Sylvain Hallé & Hugo Tremblay Outputs of "upstream" functions become inputs of "downstream" functions 2 6 3 > + × > > 3 Function circuits Functions can be composed to form circuits
  • 12. Sylvain Hallé & Hugo Tremblay Outputs of "upstream" functions become inputs of "downstream" functions 2 6 3 6 8 3 18 6 6 > + × > > 3 Function circuits Functions can be composed to form circuits
  • 13. Sylvain Hallé & Hugo Tremblay Outputs of "upstream" functions become inputs of "downstream" functions 2 6 3 6 8 3 18 6 6 6 33 8 18 > + × > > 3 Function circuits Functions can be composed to form circuits
  • 14. Sylvain Hallé & Hugo Tremblay Outputs of "upstream" functions become inputs of "downstream" functions 2 6 3 6 8 3 18 6 6 6 33 8 18 ⊥ ⊤ > + × > > 3 Function circuits Functions can be composed to form circuits
  • 15. Sylvain Hallé & Hugo Tremblay Outputs of "upstream" functions become inputs of "downstream" functions 2 6 3 6 8 3 18 6 6 6 33 8 18 ⊥ ⊤ ⊤ ⊥ > + × > > 3 Function circuits Functions can be composed to form circuits
  • 16. Sylvain Hallé & Hugo Tremblay Outputs of "upstream" functions become inputs of "downstream" functions 2 6 3 6 8 3 18 6 6 6 33 8 18 ⊥ ⊤ ⊤ ⊥ ⊤ > + × > > 3 Function circuits Functions can be composed to form circuits
  • 17. Sylvain Hallé & Hugo Tremblay A circuit can be encapsulated into a function > + × > > 3 Function circuits Functions can be composed to form circuits
  • 18. Sylvain Hallé & Hugo Tremblay A circuit can be encapsulated into a function x y z t (x + y > y × z) ∨ (y > 3) > + × > > 3 Function circuits Functions can be composed to form circuits
  • 19. Sylvain Hallé & Hugo Tremblay α > 3 Parameterized functions result in multiple sub- evaluations of a circuit All together now
  • 20. Sylvain Hallé & Hugo Tremblay α > 3 Parameterized functions result in multiple sub- evaluations of a circuit All together now [4,2,5]
  • 21. Sylvain Hallé & Hugo Tremblay α > 3 Parameterized functions result in multiple sub- evaluations of a circuit All together now [4,2,5] > 3 4 44 3 T T3 T[ ]
  • 22. Sylvain Hallé & Hugo Tremblay α > 3 Parameterized functions result in multiple sub- evaluations of a circuit All together now [4,2,5] > 3 4 44 3 T T3 T[ ] > 3 2 2 3 T T 3 T
  • 23. Sylvain Hallé & Hugo Tremblay α > 3 Parameterized functions result in multiple sub- evaluations of a circuit All together now [4,2,5] > 3 4 44 3 T T3 T[ ] > 3 2 2 3 T T 3 T > 3 5 5 3 T T3 T
  • 24. Sylvain Hallé & Hugo Tremblay Part of Most provenance models implicitly involve the concept of "part of" Straightforward in the relational world...
  • 25. Sylvain Hallé & Hugo Tremblay Part of Most provenance models implicitly involve the concept of "part of" Straightforward in the relational world... a relation R
  • 26. Sylvain Hallé & Hugo Tremblay Part of Most provenance models implicitly involve the concept of "part of" Straightforward in the relational world... a relation R a part of R ⊆
  • 27. Sylvain Hallé & Hugo Tremblay Part of Most provenance models implicitly involve the concept of "part of" Straightforward in the relational world... a relation R a part of R ⊆ a tuple t a=v a=v a=v a=v a=v a=v a=v
  • 28. Sylvain Hallé & Hugo Tremblay Part of Most provenance models implicitly involve the concept of "part of" Straightforward in the relational world... a relation R a part of R ⊆ a tuple t a=v a=v a=v a=v a=v a=v a=v a part of t ⊆
  • 29. Sylvain Hallé & Hugo Tremblay Part of Most provenance models implicitly involve the concept of "part of" Straightforward in the relational world... a relation R a part of R ⊆ a tuple t a=v a=v a=v a=v a=v a=v a=v a part of t ⊆ What if the universe of discourse is not only made of sets?
  • 30. Sylvain Hallé & Hugo Tremblay Our proposed model is based on an abstract topology of objects Topology of objects 𝖀 is a set of objects ⊑ is a partial order between objects ("part of") □ is the only object that is part of all others We suppose that ⊑ follows the intuition for common objects: scalars have no parts but themselves a part of a set is a subset or a single element a part of a string (list) is a sub-string (-list)
  • 31. Sylvain Hallé & Hugo Tremblay A designator is any function that takes an object and returns a part of this object. Examples: Designator [i] the i-th item of a list [i : j] the substring between characters i and j the contents of some file the i-th input pin of a function the i-th output pin of a function ↑i ↓i
  • 32. Sylvain Hallé & Hugo Tremblay Designators can be composed: ↑2 [3] [1:5]◦ ◦ A designator is any function that takes an object and returns a part of this object. Examples: Designator [i] the i-th item of a list [i : j] the substring between characters i and j the contents of some file the i-th input pin of a function the i-th output pin of a function ↑i ↓i
  • 33. Sylvain Hallé & Hugo Tremblay Designators can be composed: ↑2 [3] [1:5]◦ ◦ "The first five characters of the third item of the second argument of the function" A designator is any function that takes an object and returns a part of this object. Examples: Designator [i] the i-th item of a list [i : j] the substring between characters i and j the contents of some file the i-th input pin of a function the i-th output pin of a function ↑i ↓i
  • 34. Sylvain Hallé & Hugo Tremblay Designation graph ∧ ↓ , f1 < < ↑ , f1< < ∧ [1],↑ , f2< < [1],↑ , f3< < A designation graph is an and-or directed acyclic graph (DAG) where: the endpoints are made of a designator d and a function f the head of d points to an input or an output of f It expresses an "and-or" relationship between function inputs and function outputs in a circuit.
  • 35. Sylvain Hallé & Hugo Tremblay Given a function f with m inputs and n outputs, a derivation operator is a function ∆f: Derivation ∆f : 𝕯 × 𝖀m × 𝖀n → 𝕿
  • 36. Sylvain Hallé & Hugo Tremblay Given a function f with m inputs and n outputs, a derivation operator is a function ∆f: Derivation ∆f : 𝕯 × 𝖀m × 𝖀n → 𝕿 designator function input function output designation graph
  • 37. Sylvain Hallé & Hugo Tremblay Given a function f with m inputs and n outputs, a derivation operator is a function ∆f: Derivation ∆f : 𝕯 × 𝖀m × 𝖀n → 𝕿 The graph must be such that: its root is the designator d given to ∆f if d's head points to an input of f, the leaves point to an output of f (and vice versa) designator function input function output designation graph
  • 38. Sylvain Hallé & Hugo Tremblay Given a circuit an input/output pair and a designator, one can reconstruct the derivation for the circuit by connecting the ends of the derivation graph for each individual function. Derivation for circuits > + × > > 3
  • 39. Sylvain Hallé & Hugo Tremblay Given a circuit an input/output pair and a designator, one can reconstruct the derivation for the circuit by connecting the ends of the derivation graph for each individual function. Derivation for circuits > + × > > 3 ⊤ 2 6 3
  • 40. Sylvain Hallé & Hugo Tremblay Given a circuit an input/output pair and a designator, one can reconstruct the derivation for the circuit by connecting the ends of the derivation graph for each individual function. Derivation for circuits > + × > > 3 ⊤ 2 6 3 ∧ ↓ ,1 < < > ↑ ,1< < > ∧ ↓ ,1 < < > ∧ ↑ ,1< < > ↑ ,2< < > ∧ ↓ ,2 < < ∧ ↓ ,2 < < 3
  • 41. Sylvain Hallé & Hugo Tremblay Given a circuit an input/output pair and a designator, one can reconstruct the derivation for the circuit by connecting the ends of the derivation graph for each individual function. Derivation for circuits > + × > > 3 ⊤ 2 6 3 ∧ ↓ ,1 < < > ↑ ,1< < > ∧ ↓ ,1 < < > ∧ ↑ ,1< < > ↑ ,2< < > ∧ ↓ ,2 < < ∧ ↓ ,2 < < 3 6 3
  • 42. Sylvain Hallé & Hugo Tremblay Given a circuit an input/output pair and a designator, one can reconstruct the derivation for the circuit by connecting the ends of the derivation graph for each individual function. Derivation for circuits > + × > > 3 ⊤ 2 6 3 ∧ ↓ ,1 < < > ↑ ,1< < > ∧ ↓ ,1 < < > ∧ ↑ ,1< < > ↑ ,2< < > ∧ ↓ ,2 < < ∧ ↓ ,2 < < 3 6 3
  • 43. Sylvain Hallé & Hugo Tremblay /, [2] # α W 3 x Gα > 3 1 2 A C 3 4 B 5 a b c a b A bigger example
  • 44. Sylvain Hallé & Hugo Tremblay /, [2] # α W 3 x Gα > 3 1 2 A C 3 4 B 5 a b c a b A bigger example split file into lines
  • 45. Sylvain Hallé & Hugo Tremblay /, [2] # α W 3 x Gα > 3 1 2 A C 3 4 B 5 a b c a b A bigger example on each line...
  • 46. Sylvain Hallé & Hugo Tremblay /, [2] # α W 3 x Gα > 3 1 2 A C 3 4 B 5 a b c a b A bigger example split on commas
  • 47. Sylvain Hallé & Hugo Tremblay /, [2] # α W 3 x Gα > 3 1 2 A C 3 4 B 5 a b c a b A bigger example take second element
  • 48. Sylvain Hallé & Hugo Tremblay /, [2] # α W 3 x Gα > 3 1 2 A C 3 4 B 5 a b c a b A bigger example convert to number
  • 49. Sylvain Hallé & Hugo Tremblay /, [2] # α W 3 x Gα > 3 1 2 A C 3 4 B 5 a b c a b A bigger example on each window of 3 values...
  • 50. Sylvain Hallé & Hugo Tremblay /, [2] # α W 3 x Gα > 3 1 2 A C 3 4 B 5 a b c a b A bigger example take the average
  • 51. Sylvain Hallé & Hugo Tremblay /, [2] # α W 3 x Gα > 3 1 2 A C 3 4 B 5 a b c a b A bigger example on each average...
  • 52. Sylvain Hallé & Hugo Tremblay /, [2] # α W 3 x Gα > 3 1 2 A C 3 4 B 5 a b c a b A bigger example check that is is greater than 3
  • 53. Sylvain Hallé & Hugo Tremblay /, [2] # α W 3 x Gα > 3 1 2 A C 3 4 B 5 a b c a b A bigger example assert they are all so
  • 54. Sylvain Hallé & Hugo Tremblay ⊤the,2,penny fool,7,lane on,18,come the,2,together hill,-80,i strawberry,7,am fields,1,the forever,10,walrus /, [2] # α W 3 x Gα > 3 1 2 A C 3 4 B 5 a b c a b A bigger example
  • 55. Sylvain Hallé & Hugo Tremblay ⊤the,2,penny fool,7,lane on,18,come the,2,together hill,-80,i strawberry,7,am fields,1,the forever,10,walrus ∧ ↓ , G1< < ∧ ∧∧ [4:5], [3] ,< < [5:5], [4] ,< < [6:8], [5] ,< < [8:8], [7] ,< <[ : ], [6] ,< <12 12 /, [2] # α W 3 x Gα > 3 1 2 A C 3 4 B 5 a b c a b A bigger example
  • 56. Sylvain Hallé & Hugo Tremblay ⊤the,2,penny fool,7,lane on,18,come the,2,together hill,-80,i strawberry,7,am fields,1,the forever,10,walrus ∧ ↓ , G1< < ∧ ∧∧ [4:5], [3] ,< < [5:5], [4] ,< < [6:8], [5] ,< < [8:8], [7] ,< <[ : ], [6] ,< <12 12 /, [2] # α W 3 x Gα > 3 1 2 A C 3 4 B 5 a b c a b A bigger example
  • 57. Sylvain Hallé & Hugo Tremblay ⊤the,2,penny fool,7,lane on,18,come the,2,together hill,-80,i strawberry,7,am fields,1,the forever,10,walrus ∧ ↓ , G1< < ∧ ∧∧ [4:5], [3] ,< < [5:5], [4] ,< < [6:8], [5] ,< < [8:8], [7] ,< <[ : ], [6] ,< <12 12 ∧ /, [2] # α W 3 x Gα > 3 1 2 A C 3 4 B 5 a b c a b A bigger example
  • 58. Sylvain Hallé & Hugo Tremblay ⊤the,2,penny fool,7,lane on,18,come the,2,together hill,-80,i strawberry,7,am fields,1,the forever,10,walrus ∧ ↓ , G1< < ∧ ∧∧ [4:5], [3] ,< < [5:5], [4] ,< < [6:8], [5] ,< < [8:8], [7] ,< <[ : ], [6] ,< <12 12 ∧ /, [2] # α W 3 x Gα > 3 1 2 A C 3 4 B 5 a b c a b A bigger example
  • 59. Sylvain Hallé & Hugo Tremblay Observations Pros generic computation model (circuits) not limited to tuples and relations modular (define ∆f separately for each f) support for alternate lineage ("or" nodes) fine granularity (parts of objects) same algorithm, different lineage depending on definition of ∆f for each function f Cons who defines ∆f ? according to what requirements ? circuits: a way to program, or a model to reason about a program ?
  • 60. Sylvain Hallé & Hugo Tremblay Future work Provide formal definitions of ∆ that correspond to various (existing) provenance relationships Implement and test a proof of concept (under way: https://github.com/liflab/petitpoucet) Retrofit this framework into existing software (BeepBeep, Cornipickle) Study circuits according to the designation graphs they induce Thank you!