SlideShare ist ein Scribd-Unternehmen logo
1 von 16
OTTER 1
Language classification and OTTER
C, C++
compiler

imperative
Interpreter
(scripting)

Java

Assembler

Python

perl
ruby

Haskell
Lamda calculator
Ocaml
declarative
Prolog
Prover

Isabelle

OTTER
Two streams of computing
1970

1980

19
90

20
00

Java(1990-)

assembler

20
10

Ruby / Python

C言語(1972-)

Lisp (1958-)
Haskel

Ocaml

prolog(1972-)
mapReduce
Languages on Turing machine
Turing machine

Turing

tape

Computer

Recursive
function

Kleene

Loop

C language

lambda calculus

Church

recursion

Haskell

National
deduction

Gentzen

Mathematical
recursion

Proof

Mathematical recursion
Proof

Based on natural number. We can
invoke recursive functions endlessly.

I don’t know about
flag and loop

A chain of clauses logically
connected from
Axioms.
Background: Resolution Principle applied
Hilbert System

Sequent calculus
Proof Theory

Gentzen System
Tableau Calculus

Resolution Principle
Applied to
computation
OTTER’s basic methodology
Binary resolution
Modus potens, one by one

resolution
Hyper resolution
Nucleus and satellite, All at one

Demoulation
Term rewriting

modulation
Paramodulation
Equational reasoning

list(usable).
-Greek(x) | Person(x).
-Person(x) | Mortal(x).
end_of_list.
list(sos).
Greek(sorates).
end_of_list.
|list(usable).
-Sibling(x,y) | Brother(x,y) | Sister(x,y).
end_of_list.
list(sos).
Sibling(pat, ray) | Cousin(pat, ray).
end_of_list.

list(usable).
-A(x,y) | A(x, S(y)).
end_of_list.
list(demodulators).
S(S(x)) = x.
end_of_list.
list(usable).
(a=b) | (c=d).
end_of_list.
list(sos).
P(a) | Q(n, f(c,g(d))).
end_of_list.
Four interactions and OTTER
Gravitational interaction
(weighting)

+

-

weight_list(pick_and_purge).
weight(P(rew($(0),$(0)),$(1)), 99)

+
+

-

+

Strong interaction (modulation)

Electromagnetic interaction (resolution)
-father(x,y) | -mother(x,z) | grandmother(x,z)

(a=b) | (c=d).
P(a) | Q(n, f(c,g(d))).
Liar paradox: three cases
P(says(A, L(B)).
P(says(B, L(A)).

P(says(A, T(B)).
P(says(B, T(A)).

P(says(A, L(B)).
P(says(B, T(A)).

satisfiable

satisfiable

unsatisfiable
Main loop of OTTER main.c
59 | while (giv_cl != NULL && status == KEEP_SEARCHING) {
81 |
82 |
83 |
84 |
85 |

101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |

index_lits_clash(giv_cl);
append_cl(Usable, giv_cl);
if (splitting())
possible_given_split(giv_cl);
infer_and_process(giv_cl);

if (status == KEEP_SEARCHING) {
if (Parms[CHANGE_LIMIT_AFTER].val == Stats[CL_GIVEN]) {
int new_limit;
new_limit = Parms[NEW_MAX_WEIGHT].val;
Parms[MAX_WEIGHT].val = new_limit;
printf("nreducing weight limit to %d.n", new_limit);
}
if (splitting())
possible_split(); /* parent does not return if successful */
giv_cl = extract_given_clause();
}
Loop until no clause can be extracted from set of support
Main loop of
OTTER

-

+

+
+
+

-

clash
clash

++
+

-

Search stopped
because sos empty.

pick up

pick up

+

+

+

+

+

+
+ -

+

+
+ -

-
Clash (resolve.c)
225 |static void clash(struct clash_nd *c_start,
226 |
struct context *nuc_subst,
227 |
struct literal *nuc_lits,
228 |
struct clause *nuc,
229 |
struct context *giv_subst,
230 |
struct literal *giv_lits,
231 |
struct clause *giv_sat,
232 |
int (*sat_proc)(struct clause *c),
233 |
int inf_clock,
234 |
int nuc_pos,
235 |
int ur_box)
Main loop of OTTER clause.c
3384 |struct clause *extract_given_clause(void)
3385 |{
3386 | struct clause *giv_cl;
3387 |
3388 | CLOCK_START(PICK_GIVEN_TIME);
3389 | giv_cl = find_given_clause();
3390 | if (giv_cl) {
3391 | rem_from_list(giv_cl);
3392 | }
3393 | CLOCK_STOP(PICK_GIVEN_TIME);
3394 | return(giv_cl);
3395 |} /* extract_given_clause */

There are three kinds of
searching state space
1) Stack
2) Queue
3) weghting

If there is no clause found in
set of support,
reasoning process is
terminated.

3334 |struct clause *find_given_clause(void)
3335 |{
3336 | struct clause *giv_cl;
3343 | if (Flags[SOS_QUEUE].val)
3344 | giv_cl = find_first_cl(Sos);
3345 |
3346 | else if (Flags[SOS_STACK].val)
3347 | giv_cl = find_last_cl(Sos);
3348 |
3368 | else
3369 | giv_cl = find_lightest_cl(Sos);
3370 | }
Hyper resolution
-

+

+

- +

+
+
+
-

1 |set(hyper_res).
2 |assign(stats_level,1).
3|
4 |list(usable).
5|
-Sibling(x,y) | Brother(x,y) | Sister(x,y).
6 |end_of_list.
7|
8 |list(sos).
9|
Sibling(pat, ray) | Cousin(pat, ray).
10 |end_of_list.

+

-

+
+
+
+
-
paramodulation

1 |set(para_into).
4 |assign(stats_level,1).
5|
6 |list(usable).
7|
a1 = b1.
8|
a2 = b2.
9 |end_of_list.
10 |
11 |list(sos).
12 |
P(a1,a2).
13 |end_of_list.

Clauses
are generated
according to
line 7 and 8.
Paramodulation 1
1 |set(para_into).
2 |assign(max_given,3).
3 |assign(stats_level,1).
4|
5 |list(usable).
6|
(a=b) | (c=d).
7 |end_of_list.
8|
9 |list(sos).
10 |
P(a) | Q(n, f(c,g(d))).
11 |end_of_list.
Paramodulation 2
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Linked list Output tracing
Linked list Output tracingLinked list Output tracing
Linked list Output tracingSamsil Arefin
 
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価Kota Abe
 
Some other Importent Question (Mix)
Some other Importent Question (Mix)Some other Importent Question (Mix)
Some other Importent Question (Mix)prabhatjon
 
Asymptotic Notations
Asymptotic NotationsAsymptotic Notations
Asymptotic NotationsRishabh Soni
 
Learning Erlang (from a Prolog dropout's perspective)
Learning Erlang (from a Prolog dropout's perspective)Learning Erlang (from a Prolog dropout's perspective)
Learning Erlang (from a Prolog dropout's perspective)elliando dias
 
Some question for Section C (Embeded )
Some question for Section C (Embeded )Some question for Section C (Embeded )
Some question for Section C (Embeded )prabhatjon
 
JIT compilation in modern platforms – challenges and solutions
JIT compilation in modern platforms – challenges and solutionsJIT compilation in modern platforms – challenges and solutions
JIT compilation in modern platforms – challenges and solutionsaragozin
 
Lisp tutorial
Lisp tutorialLisp tutorial
Lisp tutorialNilt1234
 
Compilation of COSMO for GPU using LLVM
Compilation of COSMO for GPU using LLVMCompilation of COSMO for GPU using LLVM
Compilation of COSMO for GPU using LLVMLinaro
 
Code GPU with CUDA - Device code optimization principle
Code GPU with CUDA - Device code optimization principleCode GPU with CUDA - Device code optimization principle
Code GPU with CUDA - Device code optimization principleMarina Kolpakova
 
Knit, Chisel, Hack: Building Programs in Guile Scheme (Strange Loop 2016)
Knit, Chisel, Hack: Building Programs in Guile Scheme (Strange Loop 2016)Knit, Chisel, Hack: Building Programs in Guile Scheme (Strange Loop 2016)
Knit, Chisel, Hack: Building Programs in Guile Scheme (Strange Loop 2016)Igalia
 
Counting sort(Non Comparison Sort)
Counting sort(Non Comparison Sort)Counting sort(Non Comparison Sort)
Counting sort(Non Comparison Sort)Hossain Md Shakhawat
 

Was ist angesagt? (20)

Lec10
Lec10Lec10
Lec10
 
Linked list Output tracing
Linked list Output tracingLinked list Output tracing
Linked list Output tracing
 
Asymptotic Notation
Asymptotic NotationAsymptotic Notation
Asymptotic Notation
 
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価
 
Some other Importent Question (Mix)
Some other Importent Question (Mix)Some other Importent Question (Mix)
Some other Importent Question (Mix)
 
Asymptotic Notations
Asymptotic NotationsAsymptotic Notations
Asymptotic Notations
 
Maps&hash tables
Maps&hash tablesMaps&hash tables
Maps&hash tables
 
Learning Erlang (from a Prolog dropout's perspective)
Learning Erlang (from a Prolog dropout's perspective)Learning Erlang (from a Prolog dropout's perspective)
Learning Erlang (from a Prolog dropout's perspective)
 
Some question for Section C (Embeded )
Some question for Section C (Embeded )Some question for Section C (Embeded )
Some question for Section C (Embeded )
 
GCC
GCCGCC
GCC
 
JIT compilation in modern platforms – challenges and solutions
JIT compilation in modern platforms – challenges and solutionsJIT compilation in modern platforms – challenges and solutions
JIT compilation in modern platforms – challenges and solutions
 
Lisp tutorial
Lisp tutorialLisp tutorial
Lisp tutorial
 
Compilation of COSMO for GPU using LLVM
Compilation of COSMO for GPU using LLVMCompilation of COSMO for GPU using LLVM
Compilation of COSMO for GPU using LLVM
 
Code GPU with CUDA - Device code optimization principle
Code GPU with CUDA - Device code optimization principleCode GPU with CUDA - Device code optimization principle
Code GPU with CUDA - Device code optimization principle
 
ALPSチュートリアル
ALPSチュートリアルALPSチュートリアル
ALPSチュートリアル
 
Laplace table
Laplace tableLaplace table
Laplace table
 
Knit, Chisel, Hack: Building Programs in Guile Scheme (Strange Loop 2016)
Knit, Chisel, Hack: Building Programs in Guile Scheme (Strange Loop 2016)Knit, Chisel, Hack: Building Programs in Guile Scheme (Strange Loop 2016)
Knit, Chisel, Hack: Building Programs in Guile Scheme (Strange Loop 2016)
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Counting sort(Non Comparison Sort)
Counting sort(Non Comparison Sort)Counting sort(Non Comparison Sort)
Counting sort(Non Comparison Sort)
 
SPSF03 - Numerical Integrations
SPSF03 - Numerical IntegrationsSPSF03 - Numerical Integrations
SPSF03 - Numerical Integrations
 

Andere mochten auch

シャレットワークショップ札幌 プレゼンテーション 全体計画
シャレットワークショップ札幌 プレゼンテーション 全体計画シャレットワークショップ札幌 プレゼンテーション 全体計画
シャレットワークショップ札幌 プレゼンテーション 全体計画urbandesignsupport
 
Expect crit
Expect critExpect crit
Expect critBernanre
 
7681835 voce-pode-ter-o-melhor-das-bencaos-de-deus
7681835 voce-pode-ter-o-melhor-das-bencaos-de-deus7681835 voce-pode-ter-o-melhor-das-bencaos-de-deus
7681835 voce-pode-ter-o-melhor-das-bencaos-de-deusAntonio Ferreira
 
Habibullah cdmabased
Habibullah cdmabasedHabibullah cdmabased
Habibullah cdmabasedhinalala
 
Computer by mike lappas
Computer  by mike lappasComputer  by mike lappas
Computer by mike lappasSmart Lab
 
情報セキュリティと標準化I 第3回-公開用
情報セキュリティと標準化I 第3回-公開用情報セキュリティと標準化I 第3回-公開用
情報セキュリティと標準化I 第3回-公開用Ruo Ando
 
Mist2012 panel discussion-ruo ando
Mist2012 panel discussion-ruo andoMist2012 panel discussion-ruo ando
Mist2012 panel discussion-ruo andoRuo Ando
 
Jwis2011 ruo ando
Jwis2011 ruo andoJwis2011 ruo ando
Jwis2011 ruo andoRuo Ando
 
情報セキュリティと標準化I 第2回-公開用
情報セキュリティと標準化I 第2回-公開用情報セキュリティと標準化I 第2回-公開用
情報セキュリティと標準化I 第2回-公開用Ruo Ando
 
Icisc2007 ruo ando
Icisc2007 ruo andoIcisc2007 ruo ando
Icisc2007 ruo andoRuo Ando
 
Swopp2009 Ruo Ando-vm-introspection
Swopp2009 Ruo Ando-vm-introspectionSwopp2009 Ruo Ando-vm-introspection
Swopp2009 Ruo Ando-vm-introspectionRuo Ando
 
法政大学情報科学部-2012年度コンピュータネットワーク-第13回授業-WEB公開用
法政大学情報科学部-2012年度コンピュータネットワーク-第13回授業-WEB公開用法政大学情報科学部-2012年度コンピュータネットワーク-第13回授業-WEB公開用
法政大学情報科学部-2012年度コンピュータネットワーク-第13回授業-WEB公開用Ruo Ando
 
オペレーティングシステム 第2回-公開用
オペレーティングシステム 第2回-公開用オペレーティングシステム 第2回-公開用
オペレーティングシステム 第2回-公開用Ruo Ando
 
情報セキュリティと標準化I 第5回-公開用
情報セキュリティと標準化I 第5回-公開用情報セキュリティと標準化I 第5回-公開用
情報セキュリティと標準化I 第5回-公開用Ruo Ando
 
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用Ruo Ando
 
情報セキュリティと標準化I 第8回-公開用
情報セキュリティと標準化I 第8回-公開用情報セキュリティと標準化I 第8回-公開用
情報セキュリティと標準化I 第8回-公開用Ruo Ando
 
Ncm2010 ruo ando
Ncm2010 ruo andoNcm2010 ruo ando
Ncm2010 ruo andoRuo Ando
 
法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用Ruo Ando
 
オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用Ruo Ando
 
自己組織化マップを用いたWindows OS malware挙動の可視化
自己組織化マップを用いたWindows OS malware挙動の可視化自己組織化マップを用いたWindows OS malware挙動の可視化
自己組織化マップを用いたWindows OS malware挙動の可視化Ruo Ando
 

Andere mochten auch (20)

シャレットワークショップ札幌 プレゼンテーション 全体計画
シャレットワークショップ札幌 プレゼンテーション 全体計画シャレットワークショップ札幌 プレゼンテーション 全体計画
シャレットワークショップ札幌 プレゼンテーション 全体計画
 
Expect crit
Expect critExpect crit
Expect crit
 
7681835 voce-pode-ter-o-melhor-das-bencaos-de-deus
7681835 voce-pode-ter-o-melhor-das-bencaos-de-deus7681835 voce-pode-ter-o-melhor-das-bencaos-de-deus
7681835 voce-pode-ter-o-melhor-das-bencaos-de-deus
 
Habibullah cdmabased
Habibullah cdmabasedHabibullah cdmabased
Habibullah cdmabased
 
Computer by mike lappas
Computer  by mike lappasComputer  by mike lappas
Computer by mike lappas
 
情報セキュリティと標準化I 第3回-公開用
情報セキュリティと標準化I 第3回-公開用情報セキュリティと標準化I 第3回-公開用
情報セキュリティと標準化I 第3回-公開用
 
Mist2012 panel discussion-ruo ando
Mist2012 panel discussion-ruo andoMist2012 panel discussion-ruo ando
Mist2012 panel discussion-ruo ando
 
Jwis2011 ruo ando
Jwis2011 ruo andoJwis2011 ruo ando
Jwis2011 ruo ando
 
情報セキュリティと標準化I 第2回-公開用
情報セキュリティと標準化I 第2回-公開用情報セキュリティと標準化I 第2回-公開用
情報セキュリティと標準化I 第2回-公開用
 
Icisc2007 ruo ando
Icisc2007 ruo andoIcisc2007 ruo ando
Icisc2007 ruo ando
 
Swopp2009 Ruo Ando-vm-introspection
Swopp2009 Ruo Ando-vm-introspectionSwopp2009 Ruo Ando-vm-introspection
Swopp2009 Ruo Ando-vm-introspection
 
法政大学情報科学部-2012年度コンピュータネットワーク-第13回授業-WEB公開用
法政大学情報科学部-2012年度コンピュータネットワーク-第13回授業-WEB公開用法政大学情報科学部-2012年度コンピュータネットワーク-第13回授業-WEB公開用
法政大学情報科学部-2012年度コンピュータネットワーク-第13回授業-WEB公開用
 
オペレーティングシステム 第2回-公開用
オペレーティングシステム 第2回-公開用オペレーティングシステム 第2回-公開用
オペレーティングシステム 第2回-公開用
 
情報セキュリティと標準化I 第5回-公開用
情報セキュリティと標準化I 第5回-公開用情報セキュリティと標準化I 第5回-公開用
情報セキュリティと標準化I 第5回-公開用
 
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
 
情報セキュリティと標準化I 第8回-公開用
情報セキュリティと標準化I 第8回-公開用情報セキュリティと標準化I 第8回-公開用
情報セキュリティと標準化I 第8回-公開用
 
Ncm2010 ruo ando
Ncm2010 ruo andoNcm2010 ruo ando
Ncm2010 ruo ando
 
法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用
 
オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用
 
自己組織化マップを用いたWindows OS malware挙動の可視化
自己組織化マップを用いたWindows OS malware挙動の可視化自己組織化マップを用いたWindows OS malware挙動の可視化
自己組織化マップを用いたWindows OS malware挙動の可視化
 

Ähnlich wie Otter 1

Otter 2016-11-14-ss
Otter 2016-11-14-ssOtter 2016-11-14-ss
Otter 2016-11-14-ssRuo Ando
 
Whats new in_csharp4
Whats new in_csharp4Whats new in_csharp4
Whats new in_csharp4Abed Bukhari
 
design-compiler.pdf
design-compiler.pdfdesign-compiler.pdf
design-compiler.pdfFrangoCamila
 
High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018Zahari Dichev
 
How to add an optimization for C# to RyuJIT
How to add an optimization for C# to RyuJITHow to add an optimization for C# to RyuJIT
How to add an optimization for C# to RyuJITEgor Bogatov
 
Photon Technical Deep Dive: How to Think Vectorized
Photon Technical Deep Dive: How to Think VectorizedPhoton Technical Deep Dive: How to Think Vectorized
Photon Technical Deep Dive: How to Think VectorizedDatabricks
 
Pythran: Static compiler for high performance by Mehdi Amini PyData SV 2014
Pythran: Static compiler for high performance by Mehdi Amini PyData SV 2014Pythran: Static compiler for high performance by Mehdi Amini PyData SV 2014
Pythran: Static compiler for high performance by Mehdi Amini PyData SV 2014PyData
 
Orthogonal Functional Architecture
Orthogonal Functional ArchitectureOrthogonal Functional Architecture
Orthogonal Functional ArchitectureJohn De Goes
 
2. Asymptotic Notations and Complexity Analysis.pptx
2. Asymptotic Notations and Complexity Analysis.pptx2. Asymptotic Notations and Complexity Analysis.pptx
2. Asymptotic Notations and Complexity Analysis.pptxRams715121
 
Modern Java Workshop
Modern Java WorkshopModern Java Workshop
Modern Java WorkshopSimon Ritter
 
Parallel program design
Parallel program designParallel program design
Parallel program designZongYing Lyu
 
Debugging Ruby Systems
Debugging Ruby SystemsDebugging Ruby Systems
Debugging Ruby SystemsEngine Yard
 
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...Matt Moores
 
Getting started cpp full
Getting started cpp   fullGetting started cpp   full
Getting started cpp fullVõ Hòa
 
openMP loop parallelization
openMP loop parallelizationopenMP loop parallelization
openMP loop parallelizationAlbert DeFusco
 
Qt multi threads
Qt multi threadsQt multi threads
Qt multi threadsYnon Perek
 

Ähnlich wie Otter 1 (20)

Otter 2016-11-14-ss
Otter 2016-11-14-ssOtter 2016-11-14-ss
Otter 2016-11-14-ss
 
Whats new in_csharp4
Whats new in_csharp4Whats new in_csharp4
Whats new in_csharp4
 
Faster Python, FOSDEM
Faster Python, FOSDEMFaster Python, FOSDEM
Faster Python, FOSDEM
 
design-compiler.pdf
design-compiler.pdfdesign-compiler.pdf
design-compiler.pdf
 
High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018
 
How to add an optimization for C# to RyuJIT
How to add an optimization for C# to RyuJITHow to add an optimization for C# to RyuJIT
How to add an optimization for C# to RyuJIT
 
Photon Technical Deep Dive: How to Think Vectorized
Photon Technical Deep Dive: How to Think VectorizedPhoton Technical Deep Dive: How to Think Vectorized
Photon Technical Deep Dive: How to Think Vectorized
 
Pythran: Static compiler for high performance by Mehdi Amini PyData SV 2014
Pythran: Static compiler for high performance by Mehdi Amini PyData SV 2014Pythran: Static compiler for high performance by Mehdi Amini PyData SV 2014
Pythran: Static compiler for high performance by Mehdi Amini PyData SV 2014
 
Orthogonal Functional Architecture
Orthogonal Functional ArchitectureOrthogonal Functional Architecture
Orthogonal Functional Architecture
 
2. Asymptotic Notations and Complexity Analysis.pptx
2. Asymptotic Notations and Complexity Analysis.pptx2. Asymptotic Notations and Complexity Analysis.pptx
2. Asymptotic Notations and Complexity Analysis.pptx
 
Modern Java Workshop
Modern Java WorkshopModern Java Workshop
Modern Java Workshop
 
Shors'algorithm simplified.pptx
Shors'algorithm simplified.pptxShors'algorithm simplified.pptx
Shors'algorithm simplified.pptx
 
Parallel program design
Parallel program designParallel program design
Parallel program design
 
Debugging Ruby Systems
Debugging Ruby SystemsDebugging Ruby Systems
Debugging Ruby Systems
 
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...
 
Operating System Engineering
Operating System EngineeringOperating System Engineering
Operating System Engineering
 
Golang dot-testing-lite
Golang dot-testing-liteGolang dot-testing-lite
Golang dot-testing-lite
 
Getting started cpp full
Getting started cpp   fullGetting started cpp   full
Getting started cpp full
 
openMP loop parallelization
openMP loop parallelizationopenMP loop parallelization
openMP loop parallelization
 
Qt multi threads
Qt multi threadsQt multi threads
Qt multi threads
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Kürzlich hochgeladen (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Otter 1

  • 2. Language classification and OTTER C, C++ compiler imperative Interpreter (scripting) Java Assembler Python perl ruby Haskell Lamda calculator Ocaml declarative Prolog Prover Isabelle OTTER
  • 3. Two streams of computing 1970 1980 19 90 20 00 Java(1990-) assembler 20 10 Ruby / Python C言語(1972-) Lisp (1958-) Haskel Ocaml prolog(1972-) mapReduce
  • 4. Languages on Turing machine Turing machine Turing tape Computer Recursive function Kleene Loop C language lambda calculus Church recursion Haskell National deduction Gentzen Mathematical recursion Proof Mathematical recursion Proof Based on natural number. We can invoke recursive functions endlessly. I don’t know about flag and loop A chain of clauses logically connected from Axioms.
  • 5. Background: Resolution Principle applied Hilbert System Sequent calculus Proof Theory Gentzen System Tableau Calculus Resolution Principle Applied to computation
  • 6. OTTER’s basic methodology Binary resolution Modus potens, one by one resolution Hyper resolution Nucleus and satellite, All at one Demoulation Term rewriting modulation Paramodulation Equational reasoning list(usable). -Greek(x) | Person(x). -Person(x) | Mortal(x). end_of_list. list(sos). Greek(sorates). end_of_list. |list(usable). -Sibling(x,y) | Brother(x,y) | Sister(x,y). end_of_list. list(sos). Sibling(pat, ray) | Cousin(pat, ray). end_of_list. list(usable). -A(x,y) | A(x, S(y)). end_of_list. list(demodulators). S(S(x)) = x. end_of_list. list(usable). (a=b) | (c=d). end_of_list. list(sos). P(a) | Q(n, f(c,g(d))). end_of_list.
  • 7. Four interactions and OTTER Gravitational interaction (weighting) + - weight_list(pick_and_purge). weight(P(rew($(0),$(0)),$(1)), 99) + + - + Strong interaction (modulation) Electromagnetic interaction (resolution) -father(x,y) | -mother(x,z) | grandmother(x,z) (a=b) | (c=d). P(a) | Q(n, f(c,g(d))).
  • 8. Liar paradox: three cases P(says(A, L(B)). P(says(B, L(A)). P(says(A, T(B)). P(says(B, T(A)). P(says(A, L(B)). P(says(B, T(A)). satisfiable satisfiable unsatisfiable
  • 9. Main loop of OTTER main.c 59 | while (giv_cl != NULL && status == KEEP_SEARCHING) { 81 | 82 | 83 | 84 | 85 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | index_lits_clash(giv_cl); append_cl(Usable, giv_cl); if (splitting()) possible_given_split(giv_cl); infer_and_process(giv_cl); if (status == KEEP_SEARCHING) { if (Parms[CHANGE_LIMIT_AFTER].val == Stats[CL_GIVEN]) { int new_limit; new_limit = Parms[NEW_MAX_WEIGHT].val; Parms[MAX_WEIGHT].val = new_limit; printf("nreducing weight limit to %d.n", new_limit); } if (splitting()) possible_split(); /* parent does not return if successful */ giv_cl = extract_given_clause(); } Loop until no clause can be extracted from set of support
  • 10. Main loop of OTTER - + + + + - clash clash ++ + - Search stopped because sos empty. pick up pick up + + + + + + + - + + + - -
  • 11. Clash (resolve.c) 225 |static void clash(struct clash_nd *c_start, 226 | struct context *nuc_subst, 227 | struct literal *nuc_lits, 228 | struct clause *nuc, 229 | struct context *giv_subst, 230 | struct literal *giv_lits, 231 | struct clause *giv_sat, 232 | int (*sat_proc)(struct clause *c), 233 | int inf_clock, 234 | int nuc_pos, 235 | int ur_box)
  • 12. Main loop of OTTER clause.c 3384 |struct clause *extract_given_clause(void) 3385 |{ 3386 | struct clause *giv_cl; 3387 | 3388 | CLOCK_START(PICK_GIVEN_TIME); 3389 | giv_cl = find_given_clause(); 3390 | if (giv_cl) { 3391 | rem_from_list(giv_cl); 3392 | } 3393 | CLOCK_STOP(PICK_GIVEN_TIME); 3394 | return(giv_cl); 3395 |} /* extract_given_clause */ There are three kinds of searching state space 1) Stack 2) Queue 3) weghting If there is no clause found in set of support, reasoning process is terminated. 3334 |struct clause *find_given_clause(void) 3335 |{ 3336 | struct clause *giv_cl; 3343 | if (Flags[SOS_QUEUE].val) 3344 | giv_cl = find_first_cl(Sos); 3345 | 3346 | else if (Flags[SOS_STACK].val) 3347 | giv_cl = find_last_cl(Sos); 3348 | 3368 | else 3369 | giv_cl = find_lightest_cl(Sos); 3370 | }
  • 13. Hyper resolution - + + - + + + + - 1 |set(hyper_res). 2 |assign(stats_level,1). 3| 4 |list(usable). 5| -Sibling(x,y) | Brother(x,y) | Sister(x,y). 6 |end_of_list. 7| 8 |list(sos). 9| Sibling(pat, ray) | Cousin(pat, ray). 10 |end_of_list. + - + + + + -
  • 14. paramodulation 1 |set(para_into). 4 |assign(stats_level,1). 5| 6 |list(usable). 7| a1 = b1. 8| a2 = b2. 9 |end_of_list. 10 | 11 |list(sos). 12 | P(a1,a2). 13 |end_of_list. Clauses are generated according to line 7 and 8.
  • 15. Paramodulation 1 1 |set(para_into). 2 |assign(max_given,3). 3 |assign(stats_level,1). 4| 5 |list(usable). 6| (a=b) | (c=d). 7 |end_of_list. 8| 9 |list(sos). 10 | P(a) | Q(n, f(c,g(d))). 11 |end_of_list.
  • 16. Paramodulation 2 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.