SlideShare a Scribd company logo
1 of 15
Download to read offline
OTTER
(Organized Techniques
for Theorem-proving and Effective Research)
Heuristics computing
2017/12/03 9:25 – 11:00
Keio University, SFC
■Organized Techniques for Theorem-proving and Effective
Research
■Otter is designed to prove theorems stated in first-order
logic with equality
OTTER
Install
# apt-get install otter
# wget http://www.mcs.anl.gov/research/projects/AR/otter/dist33/otter-3.3f.tar.gz
# tar zxvf otter-3.3f.tar.gz; cd otter-3.3f; ./configure; make; make install
Argonne National Laboratory the largest national laboratory by size and
scope in the Midwest. Argonne was initially formed to carry out Enrico
Fermi's work on nuclear reactors as part of the Manhattan Project.
Larry Wos is a mathematician, a researcher in the Mathematics and
Computer Science Division of Argonne National Laboratories.
Prolog(1972)
C(1973)
LISP(1953)
1950 200019801970 1990 2010
JAVA(1995)
Ocaml(04)
ML(1973)
Type Inference
Isabelle(1986)
OTTER(96)
Haskell(1986)
gcc(1985)
Google
MapReduce(04)
scala(03)
Coq(1984)
Proverif(2003)
Python(199
1)
SQL86(86)
Shift-Reduce
Imperative
Proof Assistant
Higher order
Automated
reasoning
lamda
Unification
Compiler
Database
Mainframe Object orientedProgramming Data mining BigData(AI2)Algorithm(A1)
PopField(1982)
Boltzman
Machine(85)
BackProp(19
86)
SOM(81) SVM(91)
Deep
Learning(2012)
B: Imperative
Thermodynamics
(熱力学)
Proof Assistant Kernel
Autoencoder
Boosting(04)
2015
Graph
Computation
Pig(09)
pthread
Redis(09)
multicore
Proof Assistant
with heuristics
SledgeHummer
(03)
GPU
A: declarative
C: reasoning
D: heuristics
Deep learning
λ calculus
turing machine
π calculus
optimization
resolution
propagation
recursion
OTTER and Four computing paradigms
World war II
Natural dedution
Puzzles and programs
Truth tellers and liars
Tower of Hanoi
Two inverter puzzle
Ferrying problem15 puzzle
N-coins balance puzzle
#apt-get install otter git
#git clone https://github.com/RuoAndo/otter-book
Self-replicating
robots
Tarski parallel
axiom
Strategies
Restriction Strategies
Set of Support
Weighting
Direction Strategies
Ratio
Resonance
Look-ahead Strategies
Hot List
Redundancy control
Subsumption
DemodulationParamodulation
Dynamic Hot List
Subtautology
Resonance restriction
Level SaturationRecursive Tail
Hints
First-in Last-out
Proof checking filter
http://www.mcs.anl.gov/research/projects/AR/strategies.html
Set of Support
Imperative
Declarative
Automated reasoning
Loop
Lambda / Monad
Primitive recursive function ?
State Machine
Recursion
TAPE
CLOCK
ATOM
LIST
RECURSION
HEAT
RESOANCE
Leibniz
Spinoza
?
Example 1: Truth tellers and liars
http://jinavie.tumblr.com/post/38901128124/truth-and-lies#.WiOmGEpl91s
On the fabled Island of Knights and Knaves, we
meet two people, A and B, one of whom is a knight
and one a knave. The knight always tells the truth,
the knave always lies.
A says: "C is a knave."
B says: "A is a knight."
Who is the knight, who the knave, and who the spy?
%assign(max_proofs,-1).
set(hyper_res).
set(print_lists_at_end).
assign(stats_level,0).
list(usable).
-P(T(x)) | -P(Says(x,y)) | P(y).
-P(L(x)) | -P(Says(x,y)) | -P(y).
P(T(x)) | P(L(x)).
-P(T(x)) | -P(L(x)).
end_of_list.
list(sos).
P(Says(A, L(A))).
end_of_list.
https://github.com/RuoAndo/otter-book/tree/master/takefuji-lab/2017
configuration rule fact
Usable Set+
+
++
+
-
-
lightest
+
-
EMPTY
Usable Set
SoS Set
SoS Set
--
prg2-4.out.lined
-----> EMPTY CLAUSE at 0.00 sec
--> 8 [hyper,7,4,6] $F.
Size of Usable set (nonliear)
Main Loop
A
B
C
C ⊃ B
B ⊃ A
There exists
A[i] where
B∪¬A → Ф
(empty)
A’
Clause Sets and representation
SoS
(Set of Support)
Demodulators
Usable
Passive
Term
Rewriting
Resolution
and paramodulation
conflict
a b
a b c
a b
c
IF A THEN B : -A | B
IF A & B THEN B : -A | -B | C
IF A THEN B or C : -A | B | C
Example 2: Truth tellers, liars and spy
On the fabled Island of Knights and Knaves, we meet three people, A, B, and C, one of whom
is a knight, one a knave, and one a spy. The knight always tells the truth, the knave always
lies, and the spy can either lie or tell the truth.
A says: "C is a knave."
B says: "A is a knight."
C says: "I am the spy."
Who is the knight, who the knave,
and who the spy?
set(hyper_res).
list(usable).
-P(T(x)) | -P(Says(x,y)) | P(y).
-P(L(x)) | -P(Says(x,y)) | -P(y).
P(T(x)) | P(L(x)) | P(N(x)).
-P(T(x)) | -P(L(x)).
-P(T(x)) | -P(N(x)).
-P(L(x)) | -P(N(x)).
-P(T(x)) | P(L(x)) | P(N(x)).
-P(L(x)) | P(T(x)) | P(N(x)).
end_of_list.
list(sos).
P(Says(A,L(C))).
P(Says(B,T(A))).
P(Says(C,N(C))).
end_of_list.
Always true (恒
真)
Always false(恒
偽)
Satisfiable(証明可能) Unsatisfiable(証明不可
能)
私は正直者だと言っているスパイ
私は嘘つきだと言っているスパイ
https://github.com/RuoAndo/otter-book/tree/master/takefuji-lab/2017
Generalization: consistency is non-deterministic
(∃y) (x) ~ Dem (x, y) ⊃ (x) ~ Dem(x, sub(n, A, n))
Dem(x,y) : yの言っていることをxが確かめる。
Island is consistent if there are only truth tellers and liars.
島に正直者と嘘つきしかいない場合、確かめる事のできない言明がある。
その言明とは、「私は嘘好きである」というものである。
(∃y) (x) ~ Dem (x, y)
Dem(x, sub(n,A,n)): 自分について言っていること(sub(n,A,n)をxが確かめることができる。
If the island is consistent, no one in the island know if there are some spy.
「私は嘘つきである」という言明を確かめることができない場合、誰も島にスパイがいることを発見できない。
しかし、OTTERは発見できる。
15 puzzle
set(para_into).
list(usable).
EQUAL(l(hole,l(n(x),y)),l(n(x),l(hole,y))).
EQUAL(l(hole,l(x,l(y,l(z,l(u,l(n(w),v)))))),l(n(w), l(x,l(y,l(z,l(u,l(hole,v))))))).
-STATE(l(n(1),l(n(2),l(n(3),l(n(4),l(end,l(n(5), l(n(6),l(n(7),l(n(8),l(end,l(n(9),l(n(10),l(n(11),
l(n(12),l(end,l(n(13),l(n(14),l(n(15), l(hole,end)))))))))))))))))))).
end_of_list.
list(sos).
STATE(l(n(1),l(n(6),l(n(2),l(n(4),l(end,l(n(5), l(hole,l(n(3),l(n(8),l(end,l(n(9),l(n(10),l(n(7),
l(n(11),l(end,l(n(13),l(n(14),l(n(15), l(n(12),end)))))))))))))))))))).
end_of_list.
Complexity of 15 puzzle
1 6 2 4
5 3 8
9 10 7 11
13 14 15 12
Prg4-8.in : SCORE 437
1 6 2 4
5 3 8
9 10 7 11
13 14 15 12
Prg4-8-7.in : SCORE 891
11 2 6 9
4 14 3 5
1 12 7 15
13 10 6
Prg4-8-2.in : SCORE ????
https://github.com/RuoAndo/otter-book/tree/master/15puzzle
# cd otter-book
# git pull
Paramodulation Usable List: list(usable)
SoS List: list(list)
Paramodulation
1 |set(para_into).
2 |assign(stats_level,1).
3 |
4 |list(usable).
5 | father(ken)=jim.
6 | mother(jim)=fay.
7 |end_of_list.
8 |
9 |list(sos).
10 | Grandmother(mother(father(x)),x).
11 |end_of_list.
Grandmother
Fay
Jim
Ken
Jim
father
mother
SoS List:
list(list)
Usable List:
list(usable)

More Related Content

What's hot

確率的プログラミングライブラリEdward
確率的プログラミングライブラリEdward確率的プログラミングライブラリEdward
確率的プログラミングライブラリEdwardYuta Kashino
 
Stack linked list
Stack linked listStack linked list
Stack linked listbhargav0077
 
Imagining the future of real time kr tconf 2011
Imagining the future of real time   kr tconf 2011Imagining the future of real time   kr tconf 2011
Imagining the future of real time kr tconf 2011Jack Moffitt
 
150970116028 2140705
150970116028 2140705150970116028 2140705
150970116028 2140705Manoj Shahu
 
MEngine Overview
MEngine OverviewMEngine Overview
MEngine Overvieweuming
 
深層学習とベイズ統計
深層学習とベイズ統計深層学習とベイズ統計
深層学習とベイズ統計Yuta Kashino
 
An adaptive algorithm for detection of duplicate records
An adaptive algorithm for detection of duplicate recordsAn adaptive algorithm for detection of duplicate records
An adaptive algorithm for detection of duplicate recordsLikan Patra
 
OCamlOScope: a New OCaml API Search
OCamlOScope: a New OCaml API SearchOCamlOScope: a New OCaml API Search
OCamlOScope: a New OCaml API SearchJun Furuse
 

What's hot (12)

C3 test
C3 testC3 test
C3 test
 
Lecture5
Lecture5Lecture5
Lecture5
 
確率的プログラミングライブラリEdward
確率的プログラミングライブラリEdward確率的プログラミングライブラリEdward
確率的プログラミングライブラリEdward
 
Pycon2017
Pycon2017Pycon2017
Pycon2017
 
Stack linked list
Stack linked listStack linked list
Stack linked list
 
Imagining the future of real time kr tconf 2011
Imagining the future of real time   kr tconf 2011Imagining the future of real time   kr tconf 2011
Imagining the future of real time kr tconf 2011
 
150970116028 2140705
150970116028 2140705150970116028 2140705
150970116028 2140705
 
MEngine Overview
MEngine OverviewMEngine Overview
MEngine Overview
 
深層学習とベイズ統計
深層学習とベイズ統計深層学習とベイズ統計
深層学習とベイズ統計
 
An adaptive algorithm for detection of duplicate records
An adaptive algorithm for detection of duplicate recordsAn adaptive algorithm for detection of duplicate records
An adaptive algorithm for detection of duplicate records
 
Stacks and queues
Stacks and queuesStacks and queues
Stacks and queues
 
OCamlOScope: a New OCaml API Search
OCamlOScope: a New OCaml API SearchOCamlOScope: a New OCaml API Search
OCamlOScope: a New OCaml API Search
 

Similar to OTTER 2017-12-03

Otter 2016-11-28-01-ss
Otter 2016-11-28-01-ssOtter 2016-11-28-01-ss
Otter 2016-11-28-01-ssRuo Ando
 
Otter 2014-12-22-01-slideshare
Otter 2014-12-22-01-slideshareOtter 2014-12-22-01-slideshare
Otter 2014-12-22-01-slideshareRuo Ando
 
Scala as a Declarative Language
Scala as a Declarative LanguageScala as a Declarative Language
Scala as a Declarative Languagevsssuresh
 
Otter 2017-12-18-01-ss
Otter 2017-12-18-01-ssOtter 2017-12-18-01-ss
Otter 2017-12-18-01-ssRuo Ando
 
Reading Seminar (140515) Spectral Learning of L-PCFGs
Reading Seminar (140515) Spectral Learning of L-PCFGsReading Seminar (140515) Spectral Learning of L-PCFGs
Reading Seminar (140515) Spectral Learning of L-PCFGsKeisuke OTAKI
 
Otter 2014-12-01-01-slideshare-2
Otter 2014-12-01-01-slideshare-2Otter 2014-12-01-01-slideshare-2
Otter 2014-12-01-01-slideshare-2Ruo Ando
 
Finding similar items in high dimensional spaces locality sensitive hashing
Finding similar items in high dimensional spaces  locality sensitive hashingFinding similar items in high dimensional spaces  locality sensitive hashing
Finding similar items in high dimensional spaces locality sensitive hashingDmitriy Selivanov
 
Дмитрий Селиванов, OK.RU. Finding Similar Items in high-dimensional spaces: L...
Дмитрий Селиванов, OK.RU. Finding Similar Items in high-dimensional spaces: L...Дмитрий Селиванов, OK.RU. Finding Similar Items in high-dimensional spaces: L...
Дмитрий Селиванов, OK.RU. Finding Similar Items in high-dimensional spaces: L...Mail.ru Group
 
SPIE Conference V3.0
SPIE Conference V3.0SPIE Conference V3.0
SPIE Conference V3.0Robert Fry
 
Class 28: Entropy
Class 28: EntropyClass 28: Entropy
Class 28: EntropyDavid Evans
 
TENSOR DECOMPOSITION WITH PYTHON
TENSOR DECOMPOSITION WITH PYTHONTENSOR DECOMPOSITION WITH PYTHON
TENSOR DECOMPOSITION WITH PYTHONAndré Panisson
 
Real Time Big Data Management
Real Time Big Data ManagementReal Time Big Data Management
Real Time Big Data ManagementAlbert Bifet
 
Data exploration and graphics with R
Data exploration and graphics with RData exploration and graphics with R
Data exploration and graphics with RAlberto Labarga
 
Exploring temporal graph data with Python: 
a study on tensor decomposition o...
Exploring temporal graph data with Python: 
a study on tensor decomposition o...Exploring temporal graph data with Python: 
a study on tensor decomposition o...
Exploring temporal graph data with Python: 
a study on tensor decomposition o...André Panisson
 

Similar to OTTER 2017-12-03 (20)

Otter 2016-11-28-01-ss
Otter 2016-11-28-01-ssOtter 2016-11-28-01-ss
Otter 2016-11-28-01-ss
 
Otter 2014-12-22-01-slideshare
Otter 2014-12-22-01-slideshareOtter 2014-12-22-01-slideshare
Otter 2014-12-22-01-slideshare
 
Scala as a Declarative Language
Scala as a Declarative LanguageScala as a Declarative Language
Scala as a Declarative Language
 
Otter 2017-12-18-01-ss
Otter 2017-12-18-01-ssOtter 2017-12-18-01-ss
Otter 2017-12-18-01-ss
 
Reading Seminar (140515) Spectral Learning of L-PCFGs
Reading Seminar (140515) Spectral Learning of L-PCFGsReading Seminar (140515) Spectral Learning of L-PCFGs
Reading Seminar (140515) Spectral Learning of L-PCFGs
 
Otter 2014-12-01-01-slideshare-2
Otter 2014-12-01-01-slideshare-2Otter 2014-12-01-01-slideshare-2
Otter 2014-12-01-01-slideshare-2
 
FUZZY LOGIC
FUZZY LOGICFUZZY LOGIC
FUZZY LOGIC
 
Finding similar items in high dimensional spaces locality sensitive hashing
Finding similar items in high dimensional spaces  locality sensitive hashingFinding similar items in high dimensional spaces  locality sensitive hashing
Finding similar items in high dimensional spaces locality sensitive hashing
 
Дмитрий Селиванов, OK.RU. Finding Similar Items in high-dimensional spaces: L...
Дмитрий Селиванов, OK.RU. Finding Similar Items in high-dimensional spaces: L...Дмитрий Селиванов, OK.RU. Finding Similar Items in high-dimensional spaces: L...
Дмитрий Селиванов, OK.RU. Finding Similar Items in high-dimensional spaces: L...
 
Alastair Butler - 2015 - Round trips with meaning stopovers
Alastair Butler - 2015 - Round trips with meaning stopoversAlastair Butler - 2015 - Round trips with meaning stopovers
Alastair Butler - 2015 - Round trips with meaning stopovers
 
Q
QQ
Q
 
Classification
ClassificationClassification
Classification
 
SPIE Conference V3.0
SPIE Conference V3.0SPIE Conference V3.0
SPIE Conference V3.0
 
Class 28: Entropy
Class 28: EntropyClass 28: Entropy
Class 28: Entropy
 
TENSOR DECOMPOSITION WITH PYTHON
TENSOR DECOMPOSITION WITH PYTHONTENSOR DECOMPOSITION WITH PYTHON
TENSOR DECOMPOSITION WITH PYTHON
 
Tutorial_2.pdf
Tutorial_2.pdfTutorial_2.pdf
Tutorial_2.pdf
 
Real Time Big Data Management
Real Time Big Data ManagementReal Time Big Data Management
Real Time Big Data Management
 
Data exploration and graphics with R
Data exploration and graphics with RData exploration and graphics with R
Data exploration and graphics with R
 
PTSP PPT.pdf
PTSP PPT.pdfPTSP PPT.pdf
PTSP PPT.pdf
 
Exploring temporal graph data with Python: 
a study on tensor decomposition o...
Exploring temporal graph data with Python: 
a study on tensor decomposition o...Exploring temporal graph data with Python: 
a study on tensor decomposition o...
Exploring temporal graph data with Python: 
a study on tensor decomposition o...
 

More from Ruo Ando

KISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdfKISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdfRuo Ando
 
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤Ruo Ando
 
解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdf解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdfRuo Ando
 
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~Ruo Ando
 
解説#83 情報エントロピー
解説#83 情報エントロピー解説#83 情報エントロピー
解説#83 情報エントロピーRuo Ando
 
解説#82 記号論理学
解説#82 記号論理学解説#82 記号論理学
解説#82 記号論理学Ruo Ando
 
解説#81 ロジスティック回帰
解説#81 ロジスティック回帰解説#81 ロジスティック回帰
解説#81 ロジスティック回帰Ruo Ando
 
解説#74 連結リスト
解説#74 連結リスト解説#74 連結リスト
解説#74 連結リストRuo Ando
 
解説#76 福岡正信
解説#76 福岡正信解説#76 福岡正信
解説#76 福岡正信Ruo Ando
 
解説#77 非加算無限
解説#77 非加算無限解説#77 非加算無限
解説#77 非加算無限Ruo Ando
 
解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレスRuo Ando
 
解説#78 誤差逆伝播
解説#78 誤差逆伝播解説#78 誤差逆伝播
解説#78 誤差逆伝播Ruo Ando
 
解説#73 ハフマン符号
解説#73 ハフマン符号解説#73 ハフマン符号
解説#73 ハフマン符号Ruo Ando
 
【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法Ruo Ando
 
【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-freeRuo Ando
 
ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料 ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料 Ruo Ando
 
ファジングの解説
ファジングの解説ファジングの解説
ファジングの解説Ruo Ando
 
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月Ruo Ando
 
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰Ruo Ando
 
Intel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st WorkshopIntel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st WorkshopRuo Ando
 

More from Ruo Ando (20)

KISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdfKISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdf
 
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
 
解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdf解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdf
 
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~
 
解説#83 情報エントロピー
解説#83 情報エントロピー解説#83 情報エントロピー
解説#83 情報エントロピー
 
解説#82 記号論理学
解説#82 記号論理学解説#82 記号論理学
解説#82 記号論理学
 
解説#81 ロジスティック回帰
解説#81 ロジスティック回帰解説#81 ロジスティック回帰
解説#81 ロジスティック回帰
 
解説#74 連結リスト
解説#74 連結リスト解説#74 連結リスト
解説#74 連結リスト
 
解説#76 福岡正信
解説#76 福岡正信解説#76 福岡正信
解説#76 福岡正信
 
解説#77 非加算無限
解説#77 非加算無限解説#77 非加算無限
解説#77 非加算無限
 
解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス
 
解説#78 誤差逆伝播
解説#78 誤差逆伝播解説#78 誤差逆伝播
解説#78 誤差逆伝播
 
解説#73 ハフマン符号
解説#73 ハフマン符号解説#73 ハフマン符号
解説#73 ハフマン符号
 
【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法
 
【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free
 
ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料 ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料
 
ファジングの解説
ファジングの解説ファジングの解説
ファジングの解説
 
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
 
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
 
Intel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st WorkshopIntel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st Workshop
 

Recently uploaded

Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 

Recently uploaded (20)

Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 

OTTER 2017-12-03

  • 1. OTTER (Organized Techniques for Theorem-proving and Effective Research) Heuristics computing 2017/12/03 9:25 – 11:00 Keio University, SFC
  • 2. ■Organized Techniques for Theorem-proving and Effective Research ■Otter is designed to prove theorems stated in first-order logic with equality OTTER Install # apt-get install otter # wget http://www.mcs.anl.gov/research/projects/AR/otter/dist33/otter-3.3f.tar.gz # tar zxvf otter-3.3f.tar.gz; cd otter-3.3f; ./configure; make; make install Argonne National Laboratory the largest national laboratory by size and scope in the Midwest. Argonne was initially formed to carry out Enrico Fermi's work on nuclear reactors as part of the Manhattan Project. Larry Wos is a mathematician, a researcher in the Mathematics and Computer Science Division of Argonne National Laboratories.
  • 3. Prolog(1972) C(1973) LISP(1953) 1950 200019801970 1990 2010 JAVA(1995) Ocaml(04) ML(1973) Type Inference Isabelle(1986) OTTER(96) Haskell(1986) gcc(1985) Google MapReduce(04) scala(03) Coq(1984) Proverif(2003) Python(199 1) SQL86(86) Shift-Reduce Imperative Proof Assistant Higher order Automated reasoning lamda Unification Compiler Database Mainframe Object orientedProgramming Data mining BigData(AI2)Algorithm(A1) PopField(1982) Boltzman Machine(85) BackProp(19 86) SOM(81) SVM(91) Deep Learning(2012) B: Imperative Thermodynamics (熱力学) Proof Assistant Kernel Autoencoder Boosting(04) 2015 Graph Computation Pig(09) pthread Redis(09) multicore Proof Assistant with heuristics SledgeHummer (03) GPU A: declarative C: reasoning D: heuristics Deep learning λ calculus turing machine π calculus optimization resolution propagation recursion OTTER and Four computing paradigms World war II Natural dedution
  • 4. Puzzles and programs Truth tellers and liars Tower of Hanoi Two inverter puzzle Ferrying problem15 puzzle N-coins balance puzzle #apt-get install otter git #git clone https://github.com/RuoAndo/otter-book Self-replicating robots Tarski parallel axiom
  • 5. Strategies Restriction Strategies Set of Support Weighting Direction Strategies Ratio Resonance Look-ahead Strategies Hot List Redundancy control Subsumption DemodulationParamodulation Dynamic Hot List Subtautology Resonance restriction Level SaturationRecursive Tail Hints First-in Last-out Proof checking filter http://www.mcs.anl.gov/research/projects/AR/strategies.html Set of Support
  • 6. Imperative Declarative Automated reasoning Loop Lambda / Monad Primitive recursive function ? State Machine Recursion TAPE CLOCK ATOM LIST RECURSION HEAT RESOANCE Leibniz Spinoza ?
  • 7. Example 1: Truth tellers and liars http://jinavie.tumblr.com/post/38901128124/truth-and-lies#.WiOmGEpl91s On the fabled Island of Knights and Knaves, we meet two people, A and B, one of whom is a knight and one a knave. The knight always tells the truth, the knave always lies. A says: "C is a knave." B says: "A is a knight." Who is the knight, who the knave, and who the spy? %assign(max_proofs,-1). set(hyper_res). set(print_lists_at_end). assign(stats_level,0). list(usable). -P(T(x)) | -P(Says(x,y)) | P(y). -P(L(x)) | -P(Says(x,y)) | -P(y). P(T(x)) | P(L(x)). -P(T(x)) | -P(L(x)). end_of_list. list(sos). P(Says(A, L(A))). end_of_list. https://github.com/RuoAndo/otter-book/tree/master/takefuji-lab/2017 configuration rule fact
  • 8. Usable Set+ + ++ + - - lightest + - EMPTY Usable Set SoS Set SoS Set -- prg2-4.out.lined -----> EMPTY CLAUSE at 0.00 sec --> 8 [hyper,7,4,6] $F. Size of Usable set (nonliear) Main Loop A B C C ⊃ B B ⊃ A There exists A[i] where B∪¬A → Ф (empty) A’
  • 9. Clause Sets and representation SoS (Set of Support) Demodulators Usable Passive Term Rewriting Resolution and paramodulation conflict a b a b c a b c IF A THEN B : -A | B IF A & B THEN B : -A | -B | C IF A THEN B or C : -A | B | C
  • 10. Example 2: Truth tellers, liars and spy On the fabled Island of Knights and Knaves, we meet three people, A, B, and C, one of whom is a knight, one a knave, and one a spy. The knight always tells the truth, the knave always lies, and the spy can either lie or tell the truth. A says: "C is a knave." B says: "A is a knight." C says: "I am the spy." Who is the knight, who the knave, and who the spy? set(hyper_res). list(usable). -P(T(x)) | -P(Says(x,y)) | P(y). -P(L(x)) | -P(Says(x,y)) | -P(y). P(T(x)) | P(L(x)) | P(N(x)). -P(T(x)) | -P(L(x)). -P(T(x)) | -P(N(x)). -P(L(x)) | -P(N(x)). -P(T(x)) | P(L(x)) | P(N(x)). -P(L(x)) | P(T(x)) | P(N(x)). end_of_list. list(sos). P(Says(A,L(C))). P(Says(B,T(A))). P(Says(C,N(C))). end_of_list. Always true (恒 真) Always false(恒 偽) Satisfiable(証明可能) Unsatisfiable(証明不可 能) 私は正直者だと言っているスパイ 私は嘘つきだと言っているスパイ https://github.com/RuoAndo/otter-book/tree/master/takefuji-lab/2017
  • 11. Generalization: consistency is non-deterministic (∃y) (x) ~ Dem (x, y) ⊃ (x) ~ Dem(x, sub(n, A, n)) Dem(x,y) : yの言っていることをxが確かめる。 Island is consistent if there are only truth tellers and liars. 島に正直者と嘘つきしかいない場合、確かめる事のできない言明がある。 その言明とは、「私は嘘好きである」というものである。 (∃y) (x) ~ Dem (x, y) Dem(x, sub(n,A,n)): 自分について言っていること(sub(n,A,n)をxが確かめることができる。 If the island is consistent, no one in the island know if there are some spy. 「私は嘘つきである」という言明を確かめることができない場合、誰も島にスパイがいることを発見できない。 しかし、OTTERは発見できる。
  • 12. 15 puzzle set(para_into). list(usable). EQUAL(l(hole,l(n(x),y)),l(n(x),l(hole,y))). EQUAL(l(hole,l(x,l(y,l(z,l(u,l(n(w),v)))))),l(n(w), l(x,l(y,l(z,l(u,l(hole,v))))))). -STATE(l(n(1),l(n(2),l(n(3),l(n(4),l(end,l(n(5), l(n(6),l(n(7),l(n(8),l(end,l(n(9),l(n(10),l(n(11), l(n(12),l(end,l(n(13),l(n(14),l(n(15), l(hole,end)))))))))))))))))))). end_of_list. list(sos). STATE(l(n(1),l(n(6),l(n(2),l(n(4),l(end,l(n(5), l(hole,l(n(3),l(n(8),l(end,l(n(9),l(n(10),l(n(7), l(n(11),l(end,l(n(13),l(n(14),l(n(15), l(n(12),end)))))))))))))))))))). end_of_list.
  • 13. Complexity of 15 puzzle 1 6 2 4 5 3 8 9 10 7 11 13 14 15 12 Prg4-8.in : SCORE 437 1 6 2 4 5 3 8 9 10 7 11 13 14 15 12 Prg4-8-7.in : SCORE 891 11 2 6 9 4 14 3 5 1 12 7 15 13 10 6 Prg4-8-2.in : SCORE ???? https://github.com/RuoAndo/otter-book/tree/master/15puzzle # cd otter-book # git pull
  • 14. Paramodulation Usable List: list(usable) SoS List: list(list)
  • 15. Paramodulation 1 |set(para_into). 2 |assign(stats_level,1). 3 | 4 |list(usable). 5 | father(ken)=jim. 6 | mother(jim)=fay. 7 |end_of_list. 8 | 9 |list(sos). 10 | Grandmother(mother(father(x)),x). 11 |end_of_list. Grandmother Fay Jim Ken Jim father mother SoS List: list(list) Usable List: list(usable)