SlideShare une entreprise Scribd logo
1  sur  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.

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

シャレットワークショップ札幌 プレゼンテーション 全体計画
シャレットワークショップ札幌 プレゼンテーション 全体計画シャレットワークショップ札幌 プレゼンテーション 全体計画
シャレットワークショップ札幌 プレゼンテーション 全体計画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
 

En vedette (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挙動の可視化
 

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Plus de 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
 

Dernier

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Dernier (20)

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.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
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

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.