Logic and Knowledge Representation
G i
- v
a n n i S i l e n
- g
s i l e n
- @e
n s t . f r
T é l é c
- m
P a r i s T e c h , P a r i s
- D
a u p h i n e U n i v e r s i t y
L a n g u a g e P r
- c
e s s i n g , M e t a
- p
r
- g
r a m m i n g
1 J u n e 2 1 8
Logic and Knowledge Representation L a n g u a g e P r o - - PowerPoint PPT Presentation
Logic and Knowledge Representation L a n g u a g e P r o c e s s i n g , M e t a - p r o g r a m m i n g 1 J u n e 2 0 1 8 G i o v a n n i S i l e n o g s i l e n o @e n s t . f
1 J u n e 2 1 8
Samantha Data (Star Trek) C-3PO, R2-D2 (Star Wars) Hal 9000
[ S l i d e b y F a b i a n S u c h a n e k , T é l é c
P a r i s T e c h ]
[ S l i d e b y F a b i a n S u c h a n e k , T é l é c
P a r i s T e c h ]
r e c
s t r u c t i
t h e
i g i n a l p a i n t i n g
– V
– Σ
– R
*
( * = K l e e n e s t a r s y m b
)
– S
– c
d e n
i n g t h e e m p t y s e t : { }
d e n
i n g t h e s e t c
t a i n i n g
l y t h e e m p t y s t r i n g : { “ ” }
d e n
i n g t h e s e t c
t a i n i n g
l y t h e s t r i n g “ a ” : { “ a ” }
– c
d e n
i n g t h e e m p t y s e t : { }
d e n
i n g t h e s e t c
t a i n i n g
l y t h e e m p t y s t r i n g : { “ ” }
d e n
i n g t h e s e t c
t a i n i n g
l y t h e s t r i n g “ a ” : { “ a ” }
– o
g i v e n t w
e t s d e n
e d w i t h R a n d S , w e h a v e :
S ( c
c a t e n a t i
) : d e n
e s t h e s e t
s t r i n g s
t a i n e d b y c
c a t e n a n t i n g a s t r i n g
R a n d a s t r i n g
S
| S ( a l t e r n a n c e ) : d e n
e s t h e s e t
s t r i n g s
t a i n e d b y t h e u n i
R a n d S
* ( K l e e n e s t a r ) : d e n
e s s e t t h e i n c l u d i n g , a n d a l l p
s i b l e ε c
c a t e n a t i
s
s t r i n g s i n R ( c l
e d u n d e r c
c a t e n a t i
) .
n
n
:
s u l t ( ' d c g 2 r u l e s . p l ' ) . % n p
d e t , n . b e c
e s r u l e ( n p , [ d e t , n ] ) :
c g 2 r u l e s ( ' n a t u r a l g r a m m a r e x a m p l e . p l ' ) . % a s s e r t r u l e ( n p , [ d e t , n ] ) t d r ( P r
Wo r d s ) :
P r
l i s t
n
e r m i n a l s
w
d s m a t c h ( P r
Wo r d s , [ ] , [ ] ) . % s u c c e s s i f b e g i n n i n g
P r
Wo r d s t d r ( [ X | P r
, Wo r d s ) :
u l e ( X , R H S ) , % r e t r i e v i n g r u l e t h a t m a t c h e s X a p p e n d ( R H S , P r
N e w P r
, % r e p l a c i n g X b y R H S ( = r i g h t
a n d s i d e ) n l , w r i t e ( X ) , w r i t e ( '
' ) , w r i t e ( R H S ) , m a t c h ( N e w P r
Wo r d s , N e w P r
, N e w Wo r d s ) , t d r ( N e w P r
, N e w Wo r d s ) . % l a t e r a l r e c u r s i v e c a l l m a t c h ( [ X | L 1 ] , [ X | L 2 ] , R 1 , R 2 ) :
, w r i t e ( ' \ t * * * * r e c
n i z e d : ' ) , w r i t e ( X ) , m a t c h ( L 1 , L 2 , R 1 , R 2 ) . m a t c h ( L 1 , L 2 , L 1 , L 2 ) .
b u p ( [ s ] ) . % s u c c e s s w h e n
e g e t s s a s a l i s t
w
d s b u p ( P ) :
p p e n d ( P r e f , R e s t , P ) , % P i s s p l i t i n t
h r e e p i e c e s a p p e n d ( R H S , S u fg , R e s t ) , % P = P r e f + R H S + S u fg r u l e ( X , R H S ) , % b
t
u p u s e
r u l e a p p e n d ( P r e f , [ X | S u fg ] , N E WP ) , % R H S i s r e p l a c e d b y X i n P : b u p ( N E WP ) . % l a t e r a l r e c u r s i v e c a l l
– m
– m
– m
– .
– w
h e n e x e c u t e d , p r i n t a c
y
t h e i r c
e s
– u
s i n g a n " e v a l " f u n c t i
t
x e c u t e d y n a m i c a l l y g e n e r a t e d c
e
– r
e l y i n g
m a c r
( g e n e r a t i v e p r
r a m m i n g )
– r
e a s
i n g w i t h t h e i r
n s t r u c t u r e s a n d p r
e s s e s ( e . g . r e a d i n g t h e c l a s s
a n
j e c t ) ( r e fm e c t i
, n a m e l y i n t r
p e c t i
)
– c
p i l e r s
i n t e r p r e t e r s
a n y l a n g u a g e
– t
e t a r
n d l i m i t a t i
s
t
n h a n c e w i t h n e w f e a t u r e s t h e p r i m a r y d e v e l
m e n t l a n g u a g e ,
– t
n c a p s u l a t e d
a i n
p e c i fj c k n
l e d g e , b y i n t r
u c i n g a d
a i n
p e c i fj c l a n g u a g e ( D S L ) w i t h i t s
n s e m a n t i c s
– t
l l
u s e r s t
fj g u r e a s y s t e m i n a e a s i e r w a y
call/1 i s a b u i l t
n p r e d i c a t e i n v
i n g t h e p a r a m e t e r a s g
l
call/1 i s a b u i l t
n p r e d i c a t e i n v
i n g t h e p a r a m e t e r a s g
l
g
n g m e t a
j e c t
e v e l m e t a
e v e l
clause/2 i s a b u i l t
n p r e d i c a t e t r u e i f H e a d c a n b e u n i fj e d w i t h a c l a u s e h e a d a n d B
y w i t h t h e c
r e s p
d i n g c l a u s e b
y .
clause/2 i s a b u i l t
n p r e d i c a t e t r u e i f H e a d c a n b e u n i fj e d w i t h a c l a u s e h e a d a n d B
y w i t h t h e c
r e s p
d i n g c l a u s e b
y .
clause/2 i s a b u i l t
n p r e d i c a t e t r u e i f G
l c a n b e u n i fj e d w i t h a c l a u s e h e a d a n d B
y w i t h t h e c
r e s p
d i n g c l a u s e b
y .