Вы находитесь на странице: 1из 3

Esta es la implementacin java de alguien del verdadero mundo de Tarski .

No tiene toda la
funcionalidad, pero sigue siendo divertido de jugar. He creado archivos de frmulas y mundos
para algunos de los ejemplos del sitio web de Tarski's World. Para cargar estos archivos, debe
ejecutar el cdigo como una aplicacin, no como un applet. Descargue tarski.jar y escriba "java -
jar tarski.jar" o "java-classpath tarski.jar ch.ethz.inf.rs.Tarski".
Defecto
Estos son el mundo predeterminado y las frmulas que aparecen cuando ejecuta la versin de
Java. default.fml y default.wld.
Triangle(a) /\ Square(c) /\ Pentagon(e)
Medium(a) /\ ~Large(a) /\ ~Small(a) /\ Small(f) /\ Large(c)
Smaller(f,a) /\ Smaller(a,c) /\ LeftOf(f,a) /\ LeftOf(e,b)
A x A y (LeftOf(x,y) \/ SameCol(x,y) \/ LeftOf(y,x))
A x A y (Square(x) /\ Pentagon(y) => LeftOf(x,y))
E x E y (Triangle(x) /\ Square(y) /\ SameRow(x,y))
E x E y (Triangle(x) /\ Square(y) /\ SameCol(x,y))
Between(d,a,c) /\ Between(d,a,c) /\ ~Between(f,a,b)
E x (Pentagon(x) /\ Between(x,a,b) /\ A y (Between(y,a,b) => y = x))
A x (Square(x) /\ Small(x) => x = f)

Square[size = large, row = 0, col = 2, name = c]


Pentagon[size = large, row = 0, col = 4, name = e]
Square[size = medium, row = 1, col = 2, name = d]
Triangle[size = large, row = 3, col = 3, name = null]
Triangle[size = medium, row = 3, col = 5, name = b]
Triangle[size = small, row = 3, col = 7, name = null]
Square[size = medium, row = 4, col = 0, name = null]
Pentagon[size = large, row = 4, col = 4, name = null]
Triangle[size = medium, row = 6, col = 2, name = a]
Pentagon[size = medium, row = 6, col = 3, name = null]
Square[size = small, row = 7, col = 0, name = f]
Pentagon[size = small, row = 0, col = 7, name = null]
Tarski1
Estos son los ejemplos en la primera pgina del sitio web tarski world. tarski1.fml y tarski1.wld.
E x (Triangle(x) /\ Large(x))
E y (Pentagon(y) /\ ~Large(y))
A x (Square(x) => Medium(x))
A x (Pentagon(x) => ~Small(x))
A y (Square(y) => ~Pentagon(y))

Square[size = large, row = 0, col = 1, name = d]


Pentagon[size = large, row = 0, col = 3, name = e]
Triangle[size = large, row = 0, col = 5, name = f]
Triangle[size = medium, row = 2, col = 0, name = null]
Triangle[size = small, row = 4, col = 1, name = a]
Square[size = medium, row = 2, col = 2, name = c]
Square[size = small, row = 4, col = 3, name = b]
Pentagon[size = medium, row = 2, col = 4, name = null]
Pentagon[size = small, row = 4, col = 5, name = null]

Peirce
Estos son el mundo de Peirce y los ejemplos de oraciones de Peirce. peirce.fml
A x Square(x)
A x ~Pentagon(x)
A x ~ Small(x)
~ A x Small(x)
E x Triangle(x)
E x Pentagon(x)
E x ~Large(x)
E x LeftOf(x,x)
A x (Square(x) \/ Triangle(x))
A x (Square(x) /\ Triangle(x))
A x (Large(x) => Square(x))
A x (Medium(x) => Sqaure(x))
(esto tiene todas las frmulas, pero no puedes verlas todas en el programa java as que tambin
las he dividido en peirce1.fml y peirce2.fml ) y peirce.wld
A x Square(x)
A x ~Pentagon(x)
A x ~ Small(x)
~ A x Small(x)
E x Triangle(x)
E x Pentagon(x)
E x ~Large(x)
E x LeftOf(x,x)

A x (Square(x) \/ Triangle(x))
A x (Square(x) /\ Triangle(x))
A x (Large(x) => Square(x))
A x (Medium(x) => Square(x))
Square[size = large, row = 0, col = 4, name = null]
Square[size = medium, row = 1, col = 0, name = null]
Square[size = medium, row = 3, col = 2, name = null]
Square[size = medium, row = 5, col = 0, name = null]
Square[size = large, row = 7, col = 4, name = null]
Triangle[size = small, row = 2, col = 7, name = null]
Triangle[size = small, row = 3, col = 6, name = null]
Triangle[size = small, row = 4, col = 7, name = null]

Aristteles
Estas son las oraciones de Aristteles. El objetivo es construir un mundo donde las oraciones
sean todas verdaderas. aristotle.fml
E x (Triangle(x) /\ Large(x))
E x (Triangle(x) /\ Medium(x))
E x (Square(x) /\ ~Small(x))
A x (Square(x) /\ Medium(x))
A x (Pentagon(x) /\ Medium(Small))
A x (Triangle(x) /\ ~Small(x))
A x (Square(x) /\ ~Triangle(x))

Maigret
Al igual que las oraciones de Aristteles, el objetivo es hacer que todas las oraciones sean
verdaderas al modificar el mundo. En este caso, los objetos estn todos en su lugar, pero debe
asignar nombres. Desde que comenzamos a entrar en declaraciones lgicas que la versin java no
puede manejar (no tiene los predicados BackOf y FrontOf), dej de ingresar mundos y frmulas
despus de esto. Vea si puede etiquetar correctamente, aunque usted mismo tenga que calcular la
verdad de algunas de las afirmaciones. maigret.fml maigret.wld
Between(c,a,d) /\ ~Triangle(c)
E x BackOf(x,a) /\ E x FrontOf(x,c)
FrontOf(a,c) /\ ~E x (BackOf(x,a) /\ FrontOf(x,c))
E x LeftOf(x,d) <=> Large(b)
E x E y (~Triangle(x) /\ ~Triangle(y) /\ Between(b, x, y))
FrontOf(d,b) /\ LeftOf(d,f)
Pentagon(e)
~E x LeftOf(x,e) \/ Large(e)

Pentagon[size = large, row = 0, col = 0, name = null]


Square[size = large, row = 0, col = 3, name = null]
Pentagon[size = small, row = 0, col = 7, name = null]
Triangle[size = medium, row = 3, col = 0, name = null]
Triangle[size = medium, row = 3, col = 5, name = null]
Square[size = small, row = 5, col = 2, name = null]
Triangle[size = medium, row = 7, col = 0, name = null]
Triangle[size = medium, row = 7, col = 4, name = null]

Вам также может понравиться