-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
76 changed files
with
720 additions
and
477,402 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
1.7.21 | ||
1.7.22 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,4 +15,4 @@ | |
|
||
% query | ||
(true :+ '<urn:example:collatz>'(N, _)) :- | ||
between(1, 10000, N). | ||
between(1, 1000, N). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
% Evolutionary algorithm | ||
% See https://en.wikipedia.org/wiki/Evolutionary_algorithm | ||
% Original code from https://rosettacode.org/wiki/Evolutionary_algorithm#Prolog | ||
|
||
:- op(1200, xfx, :+). | ||
|
||
:- use_module(library(random)). | ||
|
||
:- dynamic(evolution/3). | ||
|
||
'<https://eyereasoner.github.io/ns#solve>'(TargetAtom) :- | ||
atom_codes(TargetAtom, Target), | ||
length(Target, Len), | ||
random_text(Len, Start), | ||
evolve(0, 5, Target, Start). % evolution 0 and 5% probability for a mutation | ||
|
||
random_text(0, []). % generate some random text (fixed length) | ||
random_text(Len, [H|T]) :- | ||
succ(L, Len), | ||
random_alpha(H), | ||
random_text(L, T). | ||
|
||
random_alpha(Ch) :- % generate a single random character | ||
random(R), | ||
P is round(R*26), | ||
( P = 0 | ||
-> Ch is 32 | ||
; Ch is P+64 | ||
). | ||
|
||
evolve(Evolution, Probability, Target, mutation(Score, Value)) :- | ||
atom_codes(Val, Value), | ||
( \+evolution(Evolution, Score, Val) | ||
-> assertz(evolution(Evolution, Score, Val)) | ||
; true | ||
), | ||
( Score = 0 | ||
-> true | ||
; evolve(Evolution, Probability, Target, Value) | ||
). | ||
evolve(Evolution, Probability, Target, Start) :- | ||
findall(mutation(Score, M), % generate 80 mutations, select the best | ||
( between(1, 80, _), | ||
mutate(Probability, Start, M), | ||
score(M, Score, Target) | ||
), | ||
Mutations | ||
), | ||
sort(Mutations, [Best|_]), | ||
succ(Evolution, Evo), | ||
evolve(Evo, Probability, Target, Best). | ||
|
||
mutate(_, [], []). % mutate(Probability, Input, Output) | ||
mutate(Probability, [H|Txt], [H|Mut]) :- | ||
random(R), | ||
P is round(R*100), | ||
P > Probability, | ||
!, | ||
mutate(Probability, Txt, Mut). | ||
mutate(Probability, [_|Txt], [M|Mut]) :- | ||
random_alpha(M), | ||
mutate(Probability, Txt, Mut). | ||
|
||
score(Txt, Score, Target) :- | ||
score(Target, Txt, 0, Score). | ||
|
||
score([], [], Score, Score). % score a generated mutation (count diffs) | ||
score([Ht|Tt], [Ht|Tp], C, Score) :- | ||
!, | ||
score(Tt, Tp, C, Score). | ||
score([_|Tt], [_|Tp], C, Score) :- | ||
succ(C, N), | ||
score(Tt, Tp, N, Score). | ||
|
||
% query | ||
true :+ set_random(seed(100)). | ||
true :+ evolution(_, _, _). | ||
true :+ '<https://eyereasoner.github.io/ns#solve>'('METHINKS IT IS LIKE A WEASEL'). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -42,4 +42,4 @@ | |
|
||
% query | ||
(true :+ '<urn:example:goldbach>'(N, [_, _])) :- | ||
between(2, 100000, N). | ||
between(2, 10000, N). |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
:- op(1200, xfx, :+). | ||
|
||
answer('<https://eyereasoner.github.io/ns#accessControl>'(john,report1,allow)). | ||
answer('<https://eyereasoner.github.io/ns#accessControl>'(jane,report2,allow)). | ||
answer('<https://eyereasoner.github.io/ns#accessControl>'(bob,report1,allow)). | ||
|
||
% proof steps | ||
step((policy(allow,A,B):+user_role(A,admin)),user_role(john,admin),policy(allow,john,sk_0)). | ||
step((policy(deny,A,B):+resource_confidentiality(B,confidential)),resource_confidentiality(report1,confidential),policy(deny,sk_0,report1)). | ||
step((policy(allow,A,B):+user_department(A,it)),user_department(jane,it),policy(allow,jane,sk_0)). | ||
step((true:+'<https://eyereasoner.github.io/ns#accessControl>'(john,report1,A)),'<https://eyereasoner.github.io/ns#accessControl>'(john,report1,allow),true). | ||
step((true:+'<https://eyereasoner.github.io/ns#accessControl>'(jane,report2,A)),'<https://eyereasoner.github.io/ns#accessControl>'(jane,report2,allow),true). | ||
step((true:+'<https://eyereasoner.github.io/ns#accessControl>'(bob,report1,A)),'<https://eyereasoner.github.io/ns#accessControl>'(bob,report1,allow),true). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
:- op(1200, xfx, :+). | ||
|
||
answer('<https://eyereasoner.github.io/ns#dijkstra>'("af",["acbdef",13])). | ||
answer('<https://eyereasoner.github.io/ns#dijkstra>'("af",["acbdf",14])). | ||
answer('<https://eyereasoner.github.io/ns#dijkstra>'("af",["abdef",14])). | ||
answer('<https://eyereasoner.github.io/ns#dijkstra>'("af",["abdf",15])). | ||
answer('<https://eyereasoner.github.io/ns#dijkstra>'("af",["acef",15])). | ||
answer('<https://eyereasoner.github.io/ns#dijkstra>'("af",["acdef",15])). | ||
answer('<https://eyereasoner.github.io/ns#dijkstra>'("af",["acdf",16])). | ||
|
||
% proof steps | ||
step((edge([A,B],C):+edge([B,A],C)),edge("ab",4),edge("ba",4)). | ||
step((edge([A,B],C):+edge([B,A],C)),edge("ac",2),edge("ca",2)). | ||
step((edge([A,B],C):+edge([B,A],C)),edge("bc",1),edge("cb",1)). | ||
step((edge([A,B],C):+edge([B,A],C)),edge("bd",5),edge("db",5)). | ||
step((edge([A,B],C):+edge([B,A],C)),edge("cd",8),edge("dc",8)). | ||
step((edge([A,B],C):+edge([B,A],C)),edge("ce",10),edge("ec",10)). | ||
step((edge([A,B],C):+edge([B,A],C)),edge("de",2),edge("ed",2)). | ||
step((edge([A,B],C):+edge([B,A],C)),edge("df",6),edge("fd",6)). | ||
step((edge([A,B],C):+edge([B,A],C)),edge("ef",3),edge("fe",3)). | ||
step((true:+'<https://eyereasoner.github.io/ns#dijkstra>'("af",[A,B])),'<https://eyereasoner.github.io/ns#dijkstra>'("af",["acbdef",13]),true). | ||
step((true:+'<https://eyereasoner.github.io/ns#dijkstra>'("af",[A,B])),'<https://eyereasoner.github.io/ns#dijkstra>'("af",["acbdf",14]),true). | ||
step((true:+'<https://eyereasoner.github.io/ns#dijkstra>'("af",[A,B])),'<https://eyereasoner.github.io/ns#dijkstra>'("af",["abdef",14]),true). | ||
step((true:+'<https://eyereasoner.github.io/ns#dijkstra>'("af",[A,B])),'<https://eyereasoner.github.io/ns#dijkstra>'("af",["abdf",15]),true). | ||
step((true:+'<https://eyereasoner.github.io/ns#dijkstra>'("af",[A,B])),'<https://eyereasoner.github.io/ns#dijkstra>'("af",["acef",15]),true). | ||
step((true:+'<https://eyereasoner.github.io/ns#dijkstra>'("af",[A,B])),'<https://eyereasoner.github.io/ns#dijkstra>'("af",["acdef",15]),true). | ||
step((true:+'<https://eyereasoner.github.io/ns#dijkstra>'("af",[A,B])),'<https://eyereasoner.github.io/ns#dijkstra>'("af",["acdf",16]),true). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,160 @@ | ||
:- op(1200, xfx, :+). | ||
|
||
answer(set_random(seed(100))). | ||
answer('<https://eyereasoner.github.io/ns#solve>'('METHINKS IT IS LIKE A WEASEL')). | ||
answer(evolution(1,25,'PPWVASWA CLVSSQUC DQMZNRATPT')). | ||
answer(evolution(2,24,'PPWHASWA CLVSSQUCUDQMZNRATPT')). | ||
answer(evolution(3,24,'GPWHASWA CLVSSQUCUDQMZNRAPPT')). | ||
answer(evolution(4,22,'GETHASWA CKVSSQUCUDQMZNRAPPT')). | ||
answer(evolution(5,21,'GETHASWA AKVSSQUCUDQMZNRAPPL')). | ||
answer(evolution(6,20,'EETHASYA AKVSSQUIUSQMZNRAPPL')). | ||
answer(evolution(7,18,'EETHASYS AKVSSQUIFSQMZNRAPEL')). | ||
answer(evolution(8,17,'EETHANYS AKVSSQUIFSQMZNRAPEL')). | ||
answer(evolution(9,16,'EETHANYS AKJSSQUIFSQM NRAPEL')). | ||
answer(evolution(10,16,'EETHANES AKJSSQUIFSQM NRAPEL')). | ||
answer(evolution(11,16,'BETHANES AKJSSQZIFSQM HRAPEL')). | ||
answer(evolution(12,15,'BETHANXS AKJSSQZIFSQM HRASEL')). | ||
answer(evolution(13,14,'BETHANXS AKJSSQZIFEQH HRASEL')). | ||
answer(evolution(14,13,'BETHANXS AKJSSQZIFEQA HRASEL')). | ||
answer(evolution(15,13,'BETHANES AKJSSQZIFEQA HTASEL')). | ||
answer(evolution(16,13,'BETHANES ADJSSQZIFEQA HTASEL')). | ||
answer(evolution(17,13,'BETHANES ADJNSQZIFEQA HTASEL')). | ||
answer(evolution(18,13,'BETHANES ADENSQZICEQA HTASEL')). | ||
answer(evolution(19,13,'BETHANES ACENSQZIYEQA HTASEL')). | ||
answer(evolution(20,13,'BETHANBS AUENSQZIYEQA TTASEL')). | ||
answer(evolution(21,12,'BETHANBS AUEISQZIYEQA TTASEL')). | ||
answer(evolution(22,11,'BETHANBS AUEISQZIKEQA TTASEL')). | ||
answer(evolution(23,11,'BETHANBS AUEISDZIKEQA TTASEL')). | ||
answer(evolution(24,10,'BETHANBS AUEISDZIKE A TTASEL')). | ||
answer(evolution(25,10,'BETHANBS ABEISDZIKE A TTASEL')). | ||
answer(evolution(26,9,'BETHANBS ABEISDZIKE A TEASEL')). | ||
answer(evolution(27,9,'BETHANBS ABEISDAIKE A TEASEL')). | ||
answer(evolution(28,9,'BETHANBS ABEISDAIKE A TEASEL')). | ||
answer(evolution(29,9,'BETHANBS ABEISD IKE A TEASEL')). | ||
answer(evolution(30,9,' ETHANBS ABEISD IKE A TEASEL')). | ||
answer(evolution(31,9,' THANBS ATEISD IKE A LEASEL')). | ||
answer(evolution(32,9,' THANBS ATEISD IKE A LEASEL')). | ||
answer(evolution(33,8,' THANBS ATEISD IKE A WEASEL')). | ||
answer(evolution(34,8,' THANBS ATEISD IKE A WEASEL')). | ||
answer(evolution(35,8,' THANBS ATEISD IKE A WEASEL')). | ||
answer(evolution(36,7,' ETHANBS ATWISD IKE A WEASEL')). | ||
answer(evolution(37,7,' ETHANBS ATSISD IKE A WEASEL')). | ||
answer(evolution(38,6,' ETHINBS ATSISD IKE A WEASEL')). | ||
answer(evolution(39,5,' ETHINBS ATSIS IKE A WEASEL')). | ||
answer(evolution(40,5,' ETHINBS ATSIS IKE A WEASEL')). | ||
answer(evolution(41,5,' ETHINBS ATSIS IKE A WEASEL')). | ||
answer(evolution(42,5,' ETHINBS ATHIS IKE A WEASEL')). | ||
answer(evolution(43,5,' ETHINBS ATAIS IKE A WEASEL')). | ||
answer(evolution(44,5,' ETHINBS TAIS IKE A WEASEL')). | ||
answer(evolution(45,5,' ETHINBS TAIS IKE A WEASEL')). | ||
answer(evolution(46,4,' ETHINBS ITAIS IKE A WEASEL')). | ||
answer(evolution(47,4,' ETHINBS ITAIS IKE A WEASEL')). | ||
answer(evolution(48,3,' ETHINBS ITAIS LIKE A WEASEL')). | ||
answer(evolution(49,3,' ETHINBS ITAIS LIKE A WEASEL')). | ||
answer(evolution(50,3,' ETHINBS ITAIS LIKE A WEASEL')). | ||
answer(evolution(51,3,' ETHINBS ITAIS LIKE A WEASEL')). | ||
answer(evolution(52,3,' ETHINBS ITAIS LIKE A WEASEL')). | ||
answer(evolution(53,3,' ETHINBS ITAIS LIKE A WEASEL')). | ||
answer(evolution(54,3,' ETHINBS ITAIS LIKE A WEASEL')). | ||
answer(evolution(55,3,' ETFINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(56,3,' ETFINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(57,2,'METFINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(58,2,'METFINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(59,2,'METFINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(60,2,'METFINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(61,2,'METFINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(62,2,'METFINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(63,2,'METFINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(64,2,'METFINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(65,2,'METFINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(66,1,'METHINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(67,1,'METHINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(68,1,'METHINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(69,1,'METHINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(70,1,'METHINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(71,1,'METHINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(72,1,'METHINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(73,1,'METHINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(74,1,'METHINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(75,1,'METHINKS ITAIS LIKE A WEASEL')). | ||
answer(evolution(76,0,'METHINKS IT IS LIKE A WEASEL')). | ||
|
||
% proof steps | ||
step((true:+set_random(seed(100))),set_random(seed(100)),true). | ||
step((true:+'<https://eyereasoner.github.io/ns#solve>'('METHINKS IT IS LIKE A WEASEL')),'<https://eyereasoner.github.io/ns#solve>'('METHINKS IT IS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(1,25,'PPWVASWA CLVSSQUC DQMZNRATPT'),true). | ||
step((true:+evolution(A,B,C)),evolution(2,24,'PPWHASWA CLVSSQUCUDQMZNRATPT'),true). | ||
step((true:+evolution(A,B,C)),evolution(3,24,'GPWHASWA CLVSSQUCUDQMZNRAPPT'),true). | ||
step((true:+evolution(A,B,C)),evolution(4,22,'GETHASWA CKVSSQUCUDQMZNRAPPT'),true). | ||
step((true:+evolution(A,B,C)),evolution(5,21,'GETHASWA AKVSSQUCUDQMZNRAPPL'),true). | ||
step((true:+evolution(A,B,C)),evolution(6,20,'EETHASYA AKVSSQUIUSQMZNRAPPL'),true). | ||
step((true:+evolution(A,B,C)),evolution(7,18,'EETHASYS AKVSSQUIFSQMZNRAPEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(8,17,'EETHANYS AKVSSQUIFSQMZNRAPEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(9,16,'EETHANYS AKJSSQUIFSQM NRAPEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(10,16,'EETHANES AKJSSQUIFSQM NRAPEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(11,16,'BETHANES AKJSSQZIFSQM HRAPEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(12,15,'BETHANXS AKJSSQZIFSQM HRASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(13,14,'BETHANXS AKJSSQZIFEQH HRASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(14,13,'BETHANXS AKJSSQZIFEQA HRASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(15,13,'BETHANES AKJSSQZIFEQA HTASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(16,13,'BETHANES ADJSSQZIFEQA HTASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(17,13,'BETHANES ADJNSQZIFEQA HTASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(18,13,'BETHANES ADENSQZICEQA HTASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(19,13,'BETHANES ACENSQZIYEQA HTASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(20,13,'BETHANBS AUENSQZIYEQA TTASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(21,12,'BETHANBS AUEISQZIYEQA TTASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(22,11,'BETHANBS AUEISQZIKEQA TTASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(23,11,'BETHANBS AUEISDZIKEQA TTASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(24,10,'BETHANBS AUEISDZIKE A TTASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(25,10,'BETHANBS ABEISDZIKE A TTASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(26,9,'BETHANBS ABEISDZIKE A TEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(27,9,'BETHANBS ABEISDAIKE A TEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(28,9,'BETHANBS ABEISDAIKE A TEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(29,9,'BETHANBS ABEISD IKE A TEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(30,9,' ETHANBS ABEISD IKE A TEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(31,9,' THANBS ATEISD IKE A LEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(32,9,' THANBS ATEISD IKE A LEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(33,8,' THANBS ATEISD IKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(34,8,' THANBS ATEISD IKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(35,8,' THANBS ATEISD IKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(36,7,' ETHANBS ATWISD IKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(37,7,' ETHANBS ATSISD IKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(38,6,' ETHINBS ATSISD IKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(39,5,' ETHINBS ATSIS IKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(40,5,' ETHINBS ATSIS IKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(41,5,' ETHINBS ATSIS IKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(42,5,' ETHINBS ATHIS IKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(43,5,' ETHINBS ATAIS IKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(44,5,' ETHINBS TAIS IKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(45,5,' ETHINBS TAIS IKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(46,4,' ETHINBS ITAIS IKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(47,4,' ETHINBS ITAIS IKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(48,3,' ETHINBS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(49,3,' ETHINBS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(50,3,' ETHINBS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(51,3,' ETHINBS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(52,3,' ETHINBS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(53,3,' ETHINBS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(54,3,' ETHINBS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(55,3,' ETFINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(56,3,' ETFINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(57,2,'METFINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(58,2,'METFINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(59,2,'METFINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(60,2,'METFINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(61,2,'METFINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(62,2,'METFINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(63,2,'METFINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(64,2,'METFINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(65,2,'METFINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(66,1,'METHINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(67,1,'METHINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(68,1,'METHINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(69,1,'METHINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(70,1,'METHINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(71,1,'METHINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(72,1,'METHINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(73,1,'METHINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(74,1,'METHINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(75,1,'METHINKS ITAIS LIKE A WEASEL'),true). | ||
step((true:+evolution(A,B,C)),evolution(76,0,'METHINKS IT IS LIKE A WEASEL'),true). |
Oops, something went wrong.