<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4733372239394917809</id><updated>2011-07-07T19:29:35.519-04:00</updated><title type='text'>Prologovision</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://prologovision.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-396308562824543911</id><published>2009-10-14T11:59:00.000-04:00</published><updated>2009-10-14T12:00:50.025-04:00</updated><title type='text'>Demo Perm.pro Lab4 part8</title><content type='html'>?- ['perm.pro'].&lt;br /&gt;% perm.pro compiled 0.00 sec, 136 bytes&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- perm([1,2,3],I).&lt;br /&gt;&lt;br /&gt;I = [1, 2, 3] ;&lt;br /&gt;&lt;br /&gt;I = [2, 1, 3] ;&lt;br /&gt;&lt;br /&gt;I = [2, 3, 1] ;&lt;br /&gt;&lt;br /&gt;I = [1, 3, 2] ;&lt;br /&gt;&lt;br /&gt;I = [3, 1, 2] ;&lt;br /&gt;&lt;br /&gt;I = [3, 2, 1] ;&lt;br /&gt;&lt;br /&gt;No&lt;br /&gt;?- perm([G,t,a,o],Wrd).&lt;br /&gt;&lt;br /&gt;Wrd = [G, t, a, o] ;&lt;br /&gt;&lt;br /&gt;Wrd = [t, G, a, o] ;&lt;br /&gt;&lt;br /&gt;Wrd = [t, a, G, o] ;&lt;br /&gt;&lt;br /&gt;Wrd = [t, a, o, G] ;&lt;br /&gt;&lt;br /&gt;Wrd = [G, a, t, o] ;&lt;br /&gt;&lt;br /&gt;Wrd = [a, G, t, o] ;&lt;br /&gt;&lt;br /&gt;Wrd = [a, t, G, o] ;&lt;br /&gt;&lt;br /&gt;Wrd = [a, t, o, G] ;&lt;br /&gt;&lt;br /&gt;Wrd = [G, a, o, t] ;&lt;br /&gt;&lt;br /&gt;Wrd = [a, G, o, t] ;&lt;br /&gt;&lt;br /&gt;Wrd = [a, o, G, t] ;&lt;br /&gt;&lt;br /&gt;Wrd = [a, o, t, G] ;&lt;br /&gt;&lt;br /&gt;Wrd = [G, t, o, a] ;&lt;br /&gt;&lt;br /&gt;Wrd = [t, G, o, a] ;&lt;br /&gt;&lt;br /&gt;Wrd = [t, o, G, a] ;&lt;br /&gt;&lt;br /&gt;Wrd = [t, o, a, G] ;&lt;br /&gt;&lt;br /&gt;Wrd = [G, o, t, a] ;&lt;br /&gt;&lt;br /&gt;Wrd = [o, G, t, a] ;&lt;br /&gt;&lt;br /&gt;Wrd = [o, t, G, a] ;&lt;br /&gt;&lt;br /&gt;Wrd = [o, t, a, G] ;&lt;br /&gt;&lt;br /&gt;Wrd = [G, o, a, t]&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- halt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-396308562824543911?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/396308562824543911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/396308562824543911'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/demo-permpro-lab4-part8.html' title='Demo Perm.pro Lab4 part8'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-7968415634821669674</id><published>2009-10-14T11:58:00.000-04:00</published><updated>2009-10-14T11:59:17.580-04:00</updated><title type='text'>Perm.pro Lab4 part8</title><content type='html'>% prints all possible permutations of a given list.&lt;br /&gt;&lt;br /&gt;del(A,[A|T],T).&lt;br /&gt;del(A,[H|T],[H|B]):-&lt;br /&gt;del(A,T,B).&lt;br /&gt;&lt;br /&gt;perm([],[]).&lt;br /&gt;perm([H|T],R):-&lt;br /&gt;perm(T,A),&lt;br /&gt;del(H,R,A).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-7968415634821669674?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/7968415634821669674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/7968415634821669674'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/permpro-lab4-part8.html' title='Perm.pro Lab4 part8'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-455986976297986301</id><published>2009-10-14T11:40:00.001-04:00</published><updated>2009-10-14T11:41:51.723-04:00</updated><title type='text'>Demo Concat.pro Lab4 part7</title><content type='html'>?- ['concat.pro'].&lt;br /&gt;% concat.pro compiled 0.00 sec, 0 bytes&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- con([1,2,3],[a,b,c],Result).&lt;br /&gt;&lt;br /&gt;Result = [1, 2, 3, a, b, c]&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- con([X,Y,Z],[$,*,&amp;],Result).&lt;br /&gt;&lt;br /&gt;Result = [X, Y, Z, $, *, &amp;]&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- con([$],[41.13],Result).&lt;br /&gt;&lt;br /&gt;Result = [$, 41.13]&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- halt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-455986976297986301?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/455986976297986301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/455986976297986301'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/demo-concatpro-lab4-part7.html' title='Demo Concat.pro Lab4 part7'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-1769476475123910</id><published>2009-10-14T11:39:00.001-04:00</published><updated>2009-10-14T11:42:10.667-04:00</updated><title type='text'>Concat.pro Lab4 part7</title><content type='html'>% concatenates one given list to another given list&lt;br /&gt; &lt;br /&gt;con([],A,A).&lt;br /&gt;con([H|T_1],B,[H|T_2]) :-&lt;br /&gt;con(T_1,B,T_2).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-1769476475123910?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/1769476475123910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/1769476475123910'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/concatpro-lab4-part7.html' title='Concat.pro Lab4 part7'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-8710219281304572363</id><published>2009-10-14T10:56:00.000-04:00</published><updated>2009-10-14T10:57:43.021-04:00</updated><title type='text'>Demo Member.pro Lab4 part6</title><content type='html'>?- ['member.pro'].&lt;br /&gt;% member.pro compiled 0.00 sec, 136 bytes&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- mem(s,[t,d,r,f,d]).&lt;br /&gt;&lt;br /&gt;No&lt;br /&gt;?- mem(s,[t,d,r,f,s]).&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- mem(Z,[t,d,r,f,s]).&lt;br /&gt;&lt;br /&gt;Z = t ;&lt;br /&gt;&lt;br /&gt;Z = d ;&lt;br /&gt;&lt;br /&gt;Z = r ;&lt;br /&gt;&lt;br /&gt;Z = f ;&lt;br /&gt;&lt;br /&gt;Z = s ;&lt;br /&gt;&lt;br /&gt;No&lt;br /&gt;?- mem(z,List).&lt;br /&gt;&lt;br /&gt;List = [z|_G246] ;&lt;br /&gt;&lt;br /&gt;List = [_G245, z|_G249] ;&lt;br /&gt;&lt;br /&gt;List = [_G245, _G248, z|_G252] ;&lt;br /&gt;&lt;br /&gt;List = [_G245, _G248, _G251, z|_G255] ;&lt;br /&gt;&lt;br /&gt;List = [_G245, _G248, _G251, _G254, z|_G258] ;&lt;br /&gt;&lt;br /&gt;List = [_G245, _G248, _G251, _G254, _G257, z|_G261] ;&lt;br /&gt;&lt;br /&gt;List = [_G245, _G248, _G251, _G254, _G257, _G260, z|_G264] ;&lt;br /&gt;&lt;br /&gt;List = [_G245, _G248, _G251, _G254, _G257, _G260, _G263, z|_G267]&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?-halt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-8710219281304572363?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/8710219281304572363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/8710219281304572363'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/demo-memberpro-lab4-part6.html' title='Demo Member.pro Lab4 part6'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-2368697299367647662</id><published>2009-10-14T10:52:00.002-04:00</published><updated>2009-10-14T10:56:27.746-04:00</updated><title type='text'>Member.pro Lab4 part6</title><content type='html'>% checks to see if a given element is in a given list, returns yes or no.&lt;br /&gt;&lt;br /&gt;mem(A, [A|_]).      % Given element is a member if it matches the head.&lt;br /&gt;mem(A, [_|Tail]) :-&lt;br /&gt;  mem(A, Tail).     % Givem element is a member if it matches the tail.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-2368697299367647662?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/2368697299367647662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/2368697299367647662'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/memberpro-lab4-part6.html' title='Member.pro Lab4 part6'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-7207446028866982907</id><published>2009-10-13T17:58:00.001-04:00</published><updated>2009-10-13T18:00:05.223-04:00</updated><title type='text'>Demo List.pro double Lab4 part5</title><content type='html'>?- consult('list.pro').&lt;br /&gt;% list.pro compiled 0.00 sec, 3,768 bytes&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnlist(8,List), double_count(List,Num).&lt;br /&gt;&lt;br /&gt;List = [1, 4, 4, 2, 9, 9, 6, 8]&lt;br /&gt;Num = 2&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnlist(9,List), double_count(List,Num).&lt;br /&gt;&lt;br /&gt;List = [4, 9, 7, 8, 6, 2, 3, 0, 7]&lt;br /&gt;Num = 1&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnlist(7,List), double_count(List,Num).&lt;br /&gt;&lt;br /&gt;List = [8, 0, 1, 4, 2, 0, 2]&lt;br /&gt;Num = 2&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnlist(6,List), double_count(List,Num).&lt;br /&gt;&lt;br /&gt;List = [6, 8, 7, 5, 7, 8]&lt;br /&gt;Num = 2&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- halt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-7207446028866982907?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/7207446028866982907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/7207446028866982907'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/demo-listpro-double-lab4-part5.html' title='Demo List.pro double Lab4 part5'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-3005418372088594168</id><published>2009-10-13T17:57:00.002-04:00</published><updated>2009-10-15T10:06:44.686-04:00</updated><title type='text'>List.pro double Lab4 part5</title><content type='html'>rnprint(0).&lt;br /&gt;rnprint(A) :-&lt;br /&gt;  random(0,10,R),&lt;br /&gt;  write(R),&lt;br /&gt;  nl,&lt;br /&gt;  B is A-1,&lt;br /&gt;  rnprint(B).&lt;br /&gt;&lt;br /&gt;rnlist(0,[]).&lt;br /&gt;rnlist(N,X) :-&lt;br /&gt;  R is N-1,&lt;br /&gt;  rnlist(R,A),&lt;br /&gt;  random(0,10,B),&lt;br /&gt;append(A,[B],X).&lt;br /&gt;&lt;br /&gt;%counts occurrences of the given number in the generated list&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;count(_,[],0).&lt;br /&gt;count(A,[H|T],B) :-&lt;br /&gt;  A = H, &lt;br /&gt;  count(A,T,K),&lt;br /&gt;  B is K + 1.&lt;br /&gt;count(A,[H|T],B) :-&lt;br /&gt;  count(A,T,B).&lt;br /&gt;&lt;br /&gt;%counts number of digits with single occurrences&lt;br /&gt;&lt;br /&gt;single_count([],0).&lt;br /&gt;single_count(A,K) :- &lt;br /&gt;  single_2(A,10,C),&lt;br /&gt;  K is C.&lt;br /&gt;&lt;br /&gt;single_2(_,0,0).&lt;br /&gt;single_2(A,B,K) :-  &lt;br /&gt;  D is B - 1,  &lt;br /&gt;  count(D,A,T), &lt;br /&gt;  T = 1,&lt;br /&gt;  single_2(A,D,C),  &lt;br /&gt;  K is C + 1. &lt;br /&gt;single_2(A,B,K) :- &lt;br /&gt;  D is B - 1,&lt;br /&gt;  single_2(A,D,K).&lt;br /&gt;&lt;br /&gt;%counts number of digits within list that occur twice&lt;br /&gt;&lt;br /&gt;double_count([],0).&lt;br /&gt;double_count(A,B) :- &lt;br /&gt;  double_2(A,10,K),&lt;br /&gt;  B is K.&lt;br /&gt;&lt;br /&gt;double_2(_,0,0).&lt;br /&gt;double_2(A,C,B) :-  &lt;br /&gt;  Z is C - 1,  &lt;br /&gt;  count(Z,A,N),&lt;br /&gt;  N = 2,&lt;br /&gt;  double_2(A,Z,K),  &lt;br /&gt;  B is K + 1. &lt;br /&gt;double_2(A,C,B) :- &lt;br /&gt;  Z is C - 1,&lt;br /&gt;  double_2(A,Z,B).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-3005418372088594168?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/3005418372088594168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/3005418372088594168'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/listpro-double-lab4-part5.html' title='List.pro double Lab4 part5'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-538241369766664834</id><published>2009-10-13T17:44:00.001-04:00</published><updated>2009-10-13T17:46:58.094-04:00</updated><title type='text'>Demo List.pro singleton Lab4 part4</title><content type='html'>?- consult('list.pro').&lt;br /&gt;% list.pro compiled 0.00 sec, 0 bytes&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnlist(7,List),single_count(List,Num).&lt;br /&gt;&lt;br /&gt;List = [1, 0, 3, 7, 3, 9, 8]&lt;br /&gt;Num = 5&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnlist(7,List),single_count(List,Num).&lt;br /&gt;&lt;br /&gt;List = [6, 0, 2, 4, 8, 9, 5]&lt;br /&gt;Num = 7&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnlist(7,List),single_count(List,Num).&lt;br /&gt;&lt;br /&gt;List = [2, 6, 1, 8, 9, 7, 4]&lt;br /&gt;Num = 7&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnlist(9,List),single_count(List,Num).&lt;br /&gt;&lt;br /&gt;List = [4, 5, 9, 2, 4, 9, 8, 5, 8]&lt;br /&gt;Num = 1&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?-halt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-538241369766664834?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/538241369766664834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/538241369766664834'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/demo-listpro-singleton-lab4-part4.html' title='Demo List.pro singleton Lab4 part4'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-5463785503240724749</id><published>2009-10-13T17:42:00.003-04:00</published><updated>2009-10-15T10:07:08.207-04:00</updated><title type='text'>List.pro singleton Lab4 part4</title><content type='html'>rnprint(0).&lt;br /&gt;rnprint(A) :-&lt;br /&gt;  random(0,10,R),&lt;br /&gt;  write(R),nl,&lt;br /&gt;  B is A-1,&lt;br /&gt;  rnprint(B).&lt;br /&gt;&lt;br /&gt;rnlist(0,[]).&lt;br /&gt;rnlist(N,X) :-&lt;br /&gt;  R is N-1,&lt;br /&gt;  rnlist(R,A),&lt;br /&gt;  random(0,10,B),&lt;br /&gt;append(A,[B],X).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;%counts occurrences of the given number in the generated list&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;count(_,[],0).&lt;br /&gt;count(A,[H|T],B) :-&lt;br /&gt;  A = H, &lt;br /&gt;  count(A,T,K),&lt;br /&gt;  B is K + 1.&lt;br /&gt;count(A,[H|T],B) :-&lt;br /&gt; count(A,T,B).&lt;br /&gt;&lt;br /&gt;%counts number of digits with single occurrences&lt;br /&gt;&lt;br /&gt;single_count([],0).&lt;br /&gt;single_count(A,K) :- &lt;br /&gt;  single_2(A,10,C),&lt;br /&gt;  K is C.&lt;br /&gt;&lt;br /&gt;single_2(_,0,0).&lt;br /&gt;single_2(A,B,K) :-  &lt;br /&gt;  D is B - 1,  &lt;br /&gt;  count(D,A,T), T = 1,&lt;br /&gt;  single_2(A,D,C),  &lt;br /&gt;  K is C + 1. &lt;br /&gt;single_2(A,B,K) :- &lt;br /&gt;  D is B - 1,&lt;br /&gt;  single_2(A,D,K).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-5463785503240724749?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/5463785503240724749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/5463785503240724749'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/listpro-singleton-lab4-part4.html' title='List.pro singleton Lab4 part4'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-5491662155837535987</id><published>2009-10-13T15:30:00.002-04:00</published><updated>2009-10-13T15:33:14.930-04:00</updated><title type='text'>Demo List.pro Count Lab4 part3</title><content type='html'>?- consult('list.pro').&lt;br /&gt;% list.pro compiled 0.00 sec, 0 bytes&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnlist(9,Out), count(2,List,Num).&lt;br /&gt;&lt;br /&gt;List = [2, 3, 7, 2, 8, 5, 7, 0, 6]&lt;br /&gt;Num = 2&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnlist(20,List), count(4,List,Num).&lt;br /&gt;&lt;br /&gt;List = [8, 5, 0, 7, 8, 5, 0, 3, 5|...]&lt;br /&gt;Num = 0 [write]&lt;br /&gt;&lt;br /&gt;List = [8, 5, 0, 7, 8, 5, 0, 3, 5, 5, 2, 3, 7, 3, 2, 7, 0, 9, 7, 7]&lt;br /&gt;Num = 0 &lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnlist(20,List), count(4,List,Num).&lt;br /&gt;&lt;br /&gt;List = [7, 3, 6, 3, 2, 3, 6, 2, 7, 1, 9, 4, 7, 9, 2, 7, 8, 9, 2, 1]&lt;br /&gt;Num = 1&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnlist(20,List), count(4,List,Num).&lt;br /&gt;&lt;br /&gt;List = [8, 5, 5, 1, 4, 2, 4, 8, 7, 7, 6, 6, 6, 9, 3, 7, 5, 6, 7, 4]&lt;br /&gt;Num = 3&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- halt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-5491662155837535987?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/5491662155837535987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/5491662155837535987'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/demo-listpro-count-lab4-part3.html' title='Demo List.pro Count Lab4 part3'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-7348127749355438654</id><published>2009-10-13T15:12:00.003-04:00</published><updated>2009-10-15T10:07:58.080-04:00</updated><title type='text'>List.pro Count Lab4 part3</title><content type='html'>rnprint(0).&lt;br /&gt;rnprint(A) :-&lt;br /&gt;  random(0,10,R),&lt;br /&gt;  write(R),nl,&lt;br /&gt;  B is A-1,&lt;br /&gt;  rnprint(B).&lt;br /&gt;&lt;br /&gt;rnlist(0,[]).&lt;br /&gt;rnlist(N,X) :-&lt;br /&gt;  R is N-1,&lt;br /&gt;  rnlist(R,A),&lt;br /&gt;  random(0,10,B),&lt;br /&gt;append(A,[B],X).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;%counts given number in the list.&lt;br /&gt;&lt;br /&gt;count(_,[],0).&lt;br /&gt;count(A,[H|T],B) :-&lt;br /&gt;  A = H, &lt;br /&gt;  count(A,T,K),&lt;br /&gt;  B is K + 1.&lt;br /&gt;count(A,[H|T],B) :-&lt;br /&gt;  count(A,T,B).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-7348127749355438654?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/7348127749355438654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/7348127749355438654'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/listpro-count-lab4-part3.html' title='List.pro Count Lab4 part3'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-6255469713195610747</id><published>2009-10-13T15:03:00.001-04:00</published><updated>2009-10-13T15:05:00.593-04:00</updated><title type='text'>Demo List.pro Lab4 part1</title><content type='html'>?- consult('list.pro').&lt;br /&gt;% list.pro compiled 0.01 sec, 0 bytes&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnprint(10).&lt;br /&gt;3&lt;br /&gt;8&lt;br /&gt;5&lt;br /&gt;5&lt;br /&gt;1&lt;br /&gt;1&lt;br /&gt;7&lt;br /&gt;8&lt;br /&gt;2&lt;br /&gt;2&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnprint(4).&lt;br /&gt;7&lt;br /&gt;3&lt;br /&gt;0&lt;br /&gt;0&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnprint(6).&lt;br /&gt;5&lt;br /&gt;2&lt;br /&gt;9&lt;br /&gt;4&lt;br /&gt;2&lt;br /&gt;5&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- halt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-6255469713195610747?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/6255469713195610747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/6255469713195610747'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/demo-listpro-lab4-part1_13.html' title='Demo List.pro Lab4 part1'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-1514929363566011156</id><published>2009-10-13T14:58:00.002-04:00</published><updated>2009-10-13T15:03:39.968-04:00</updated><title type='text'>List.pro Lab4 part1</title><content type='html'>%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;br /&gt;% Given a number A of elements print&lt;br /&gt;% out that number of random integers&lt;br /&gt;% between 0 and 10.&lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;br /&gt;&lt;br /&gt;rnprint(0).&lt;br /&gt;rnprint(A) :-&lt;br /&gt;  random(0,10,R),&lt;br /&gt;  write(R),nl,&lt;br /&gt;  B is A-1,&lt;br /&gt;  rnprint(B).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-1514929363566011156?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/1514929363566011156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/1514929363566011156'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/listpro-lab4-part1_13.html' title='List.pro Lab4 part1'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-7557995077646340398</id><published>2009-10-07T10:34:00.001-04:00</published><updated>2009-10-13T14:58:01.321-04:00</updated><title type='text'>Demo List.pro lab4 part2</title><content type='html'>?- consult('list.pro').&lt;br /&gt;% list.pro compiled 0.00 sec, 0 bytes&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnlist(5,Expr).&lt;br /&gt;&lt;br /&gt;Expr = [1, 7, 1, 0, 1]&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnlist(8,Expr).&lt;br /&gt;&lt;br /&gt;Expr = [8, 8, 7, 1, 3, 5, 1, 6]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- rnlist(12,Expr), write(Expr).&lt;br /&gt;[5, 5, 8, 5, 7, 2, 3, 0, 8, 9, 4, 7]&lt;br /&gt;&lt;br /&gt;Expr = [5, 5, 8, 5, 7, 2, 3, 0, 8|...]&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?-halt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-7557995077646340398?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/7557995077646340398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/7557995077646340398'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/demo-listpro-lab4-part1.html' title='Demo List.pro lab4 part2'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-6722046265841675994</id><published>2009-10-07T10:33:00.001-04:00</published><updated>2009-10-13T14:57:37.350-04:00</updated><title type='text'>List.pro Lab4 part2</title><content type='html'>rnprint(0).&lt;br /&gt;rnprint(N) :-&lt;br /&gt;  random(0,10,R),&lt;br /&gt;  write(R),nl,&lt;br /&gt;  N is R-1,&lt;br /&gt;rnprint(N).&lt;br /&gt;&lt;br /&gt;rnlist(0,[]).&lt;br /&gt;rnlist(N,X) :-&lt;br /&gt;  R is N-1,&lt;br /&gt;  rnlist(R,A),&lt;br /&gt;  random(0,10,B),&lt;br /&gt;append(A,[B],X).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-6722046265841675994?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/6722046265841675994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/6722046265841675994'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/listpro-lab4-part1.html' title='List.pro Lab4 part2'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-5367485764136146500</id><published>2009-10-06T13:30:00.001-04:00</published><updated>2009-10-06T13:32:31.488-04:00</updated><title type='text'>Demo Crypto.pro Lab3 part4</title><content type='html'>?- consult('crypto.pro').&lt;br /&gt;%  gv.pro compiled 0.00 sec, 3,112 bytes&lt;br /&gt;%  combosets.pro compiled 0.01 sec, 7,496 bytes&lt;br /&gt;% crypto.pro compiled 0.01 sec, 22,344 bytes&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- demo.&lt;br /&gt;Crypto Problem: numbers = {8, 12, 9, 12, 0}   Goal = 8&lt;br /&gt;Possible Solution: ( ( 9 * 0 ) - ( 12 - ( 8 + 12 ) ) )&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- demo5.&lt;br /&gt;Crypto Problem: numbers = {10, 12, 6, 5, 15}   Goal = 12&lt;br /&gt;Possible Solution: ( 6 * ( ( 10 + 12 ) - ( 5 + 15 ) ) )&lt;br /&gt;&lt;br /&gt;Crypto Problem: numbers = {1, 12, 12, 3, 9}   Goal = 13&lt;br /&gt;Possible Solution: ( ( 9 + ( 1 + 12 ) ) - ( 12 - 3 ) )&lt;br /&gt;&lt;br /&gt;Crypto Problem: numbers = {2, 8, 4, 0, 2}   Goal = 0&lt;br /&gt;Possible Solution: ( ( 4 * 0 ) * ( 2 + ( 2 + 8 ) ) )&lt;br /&gt;&lt;br /&gt;Crypto Problem: numbers = {5, 14, 14, 8, 8}   Goal = 0&lt;br /&gt;Possible Solution: ( ( 14 + ( 5 + 14 ) ) * ( 8 - 8 ) )&lt;br /&gt;&lt;br /&gt;Crypto Problem: numbers = {6, 9, 3, 3, 15}   Goal = 8&lt;br /&gt;Possible Solution: ( ( 3 * 3 ) - ( ( 6 + 9 ) / 15 ) )&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- demo5.&lt;br /&gt;Crypto Problem: numbers = {12, 2, 5, 7, 7}   Goal = 15&lt;br /&gt;Possible Solution: ( 5 * ( ( 7 + ( 12 + 2 ) ) / 7 ) )&lt;br /&gt;&lt;br /&gt;Crypto Problem: numbers = {1, 5, 12, 14, 9}   Goal = 3&lt;br /&gt;Possible Solution: ( ( ( 1 + 5 ) * ( 14 - 12 ) ) - 9 )&lt;br /&gt;&lt;br /&gt;Crypto Problem: numbers = {13, 2, 1, 0, 2}   Goal = 12&lt;br /&gt;Possible Solution: ( ( ( 13 + 2 ) - 2 ) - ( 1 + 0 ) )&lt;br /&gt;&lt;br /&gt;Crypto Problem: numbers = {5, 2, 9, 3, 8}   Goal = 4&lt;br /&gt;Possible Solution: ( ( 9 / 3 ) + ( 8 - ( 5 + 2 ) ) )&lt;br /&gt;&lt;br /&gt;Crypto Problem: numbers = {14, 8, 9, 3, 1}   Goal = 2&lt;br /&gt;Possible Solution: ( ( 14 + 8 ) / ( ( 9 + 3 ) - 1 ) )&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- halt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-5367485764136146500?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/5367485764136146500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/5367485764136146500'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/demo-cryptopro-lab3-part4.html' title='Demo Crypto.pro Lab3 part4'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-5773638979244435098</id><published>2009-10-06T13:28:00.002-04:00</published><updated>2009-10-06T13:30:52.933-04:00</updated><title type='text'>Crypto.pro Lab3 part4</title><content type='html'>%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-%&lt;br /&gt;%        &lt;br /&gt;% FILE: crypto.pro in directory xsolve3.   &lt;br /&gt;% TYPE: Prolog source code.     &lt;br /&gt;% LINE: Crypto.       &lt;br /&gt;% DATE: 09/29/2009.      &lt;br /&gt;%        &lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-%&lt;br /&gt;&lt;br /&gt;% Load of combosets.pro&lt;br /&gt;&lt;br /&gt;:- consult('gv.pro').&lt;br /&gt;:- consult('combosets.pro').&lt;br /&gt;&lt;br /&gt;establishCryptoProblemParameters :-&lt;br /&gt;   declare(lo,0),&lt;br /&gt;   declare(hi,15).&lt;br /&gt;&lt;br /&gt;generateRandomCryptoNumber(R) :-&lt;br /&gt;   valueOf(lo, Lo),&lt;br /&gt;   valueOf(hi, Hi),&lt;br /&gt;   Hip is Hi + 1,&lt;br /&gt;   random(Lo,Hip,R).&lt;br /&gt;&lt;br /&gt;generateRandomCryptoProblem :-&lt;br /&gt;   generateRandomCryptoNumber(N1),&lt;br /&gt;   generateRandomCryptoNumber(N2),&lt;br /&gt;   generateRandomCryptoNumber(N3),&lt;br /&gt;   generateRandomCryptoNumber(N4),&lt;br /&gt;   generateRandomCryptoNumber(N5),&lt;br /&gt;   generateRandomCryptoNumber(G),&lt;br /&gt;   addCryptoProblemToKnowledgeBase(N1,N2,N3,N4,N5,G).&lt;br /&gt;&lt;br /&gt;addCryptoProblemToKnowledgeBase(N1,N2,N3,N4,N5,G) :-&lt;br /&gt;   retract(problem(_,_)),&lt;br /&gt;   assert(problem(numbers(N1,N2,N3,N4,N5) ,goal(G))).&lt;br /&gt;addCryptoProblemToKnowledgeBase(N1,N2,N3,N4,N5,G) :-&lt;br /&gt;   assert(problem(numbers(N1,N2,N3,N4,N5) ,goal(G))).&lt;br /&gt;&lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-&lt;br /&gt;&lt;br /&gt;% Display the problem after it has been internalized.&lt;br /&gt;&lt;br /&gt;displayProblem :-&lt;br /&gt;   problem(numbers(N1,N2,N3,N4,N5) ,goal(G)),&lt;br /&gt;   write('Crypto Problem: numbers = {'),&lt;br /&gt;   write(N1), write(', '),&lt;br /&gt;   write(N2), write(', '),&lt;br /&gt;   write(N3), write(', '),&lt;br /&gt;   write(N4), write(', '),&lt;br /&gt;   write(N5), write('}   Goal = '),&lt;br /&gt;   write(G), nl.&lt;br /&gt;&lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-&lt;br /&gt;&lt;br /&gt;% Internalize the problem.&lt;br /&gt;&lt;br /&gt;internalizeProblem :-&lt;br /&gt;   problem(numbers(N1,N2,N3,N4,N5) ,goal(G)),&lt;br /&gt;   eraseProblemBindings,&lt;br /&gt;   eraseProblem,&lt;br /&gt;   eraseSolution,&lt;br /&gt;   assert( problem( numbers(N1,N2,N3,N4,N5), goal(G) ) ),&lt;br /&gt;   assert( binding(n1, N1 ) ),&lt;br /&gt;   assert( binding(n2, N2 ) ),&lt;br /&gt;   assert( binding(n3, N3 ) ),&lt;br /&gt;   assert( binding(n4, N4 ) ),&lt;br /&gt;   assert( binding(n5, N5 ) ),&lt;br /&gt;   assert( binding(g, G ) ).&lt;br /&gt;&lt;br /&gt;eraseProblem :-&lt;br /&gt;   retract( problem( _,_ ) ),&lt;br /&gt;   fail.&lt;br /&gt;eraseProblem.&lt;br /&gt;&lt;br /&gt;eraseSolution :-&lt;br /&gt;   retract( solution( _ ) ),&lt;br /&gt;   fail.&lt;br /&gt;eraseSolution.&lt;br /&gt;&lt;br /&gt;eraseProblemBindings :-&lt;br /&gt;   retract( binding( n1, _) ),&lt;br /&gt;   retract( binding( n2, _) ),&lt;br /&gt;   retract( binding( n3, _) ),&lt;br /&gt;   retract( binding( n4, _) ),&lt;br /&gt;   retract( binding( n5, _) ),&lt;br /&gt;   retract( binding( g, _) ),&lt;br /&gt;   fail.&lt;br /&gt;eraseProblemBindings.&lt;br /&gt;&lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-&lt;br /&gt;&lt;br /&gt;% Solve the problem decompositionally after internalization.&lt;br /&gt;&lt;br /&gt;solveProblemDecompositionally :-&lt;br /&gt;   problem(numbers(N1,N2,N3,N4,N5) ,goal(G)),&lt;br /&gt;   crypto(N1,N2,N3,N4,N5,G, Expression),&lt;br /&gt;   assert(solution(Expression)).&lt;br /&gt;&lt;br /&gt;crypto(N1,N2,Goal,ex(N1,+,N2)) :-Goal is (N1 + N2).&lt;br /&gt;crypto(N1,N2,Goal,ex(N1,*,N2)) :-Goal is (N1 * N2).&lt;br /&gt;crypto(N1,N2,Goal,ex(N1,-,N2)) :-Goal is (N1 - N2).&lt;br /&gt;crypto(N1,N2,Goal,ex(N2,-,N1)) :-Goal is (N2 - N1).&lt;br /&gt;crypto(N1,N2,Goal,ex(N1,/,N2)) :-N2 &gt; 0, Goal is (N1 / N2).&lt;br /&gt;crypto(N1,N2,Goal,ex(N2,/,N1)) :-N1 &gt; 0, Goal is (N2 / N1).&lt;br /&gt;&lt;br /&gt;crypto( N1, N2, N3, G, Expr ) :-&lt;br /&gt;   combos( set(N1,N2,N3), combo(A,B), extra(C) ),&lt;br /&gt;   crypto( A, B, SG, SGE ),&lt;br /&gt;   crypto( C, SG, G, UGE ),&lt;br /&gt;   substitute( SGE, SG, UGE, Expr ).&lt;br /&gt;&lt;br /&gt;crypto( N1, N2, N3, N4, G, Expr ) :-&lt;br /&gt;   combos( set(N1,N2,N3,N4), combo(A,B), extras(C,D) ),&lt;br /&gt;   crypto( A, B, SG, SGE ),&lt;br /&gt;   crypto( C, D, SG, G, UGE ),&lt;br /&gt;   substitute( SGE, SG, UGE, Expr).&lt;br /&gt;&lt;br /&gt;crypto( N1, N2, N3, N4, N5, G, Expr ) :-&lt;br /&gt;   combos( set(N1,N2,N3,N4,N5), combo(A,B), extras(C,D,E) ),&lt;br /&gt;   crypto( A, B, SG, SGE ),&lt;br /&gt;   crypto( C, D, E, SG, G, UGE ),&lt;br /&gt;   substitute( SGE, SG, UGE, Expr).&lt;br /&gt;&lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;br /&gt;&lt;br /&gt;% Key substitution code.&lt;br /&gt;&lt;br /&gt;substitute( New, Old, ex( Old, O, Z ), ex( New, O, Z ) ).&lt;br /&gt;substitute( New, Old, ex( X, O, Old ), ex( X, O, New ) ).&lt;br /&gt;substitute( New, Old, ex( X, O, Z ), ex( Q, O, Z) ) :-&lt;br /&gt;   substitute( New, Old, X, Q ).&lt;br /&gt;substitute( New, Old, ex( X, O, Z), ex(X, O, Q ) ) :-&lt;br /&gt;   substitute( New, Old, Z, Q ).&lt;br /&gt;&lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;br /&gt;&lt;br /&gt;% Display the solution after being solved.&lt;br /&gt;&lt;br /&gt;displaySolution :-&lt;br /&gt;   write( 'Possible Solution: '),&lt;br /&gt;   solution( S ),&lt;br /&gt;   displayResult( S ),&lt;br /&gt;   nl.&lt;br /&gt;displaySolution.&lt;br /&gt;&lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;br /&gt;&lt;br /&gt;% Display the result after being solved.&lt;br /&gt;&lt;br /&gt;displayResult(ex(A,O,B)) :-&lt;br /&gt;   number(A) ,number(B),&lt;br /&gt;   write('( '),write(A),write(' '),write(O),write(' '),write(B),write(' )').&lt;br /&gt;displayResult(ex(A,O,B)) :-&lt;br /&gt;   number(A), B = ex(A1,O1,B1),&lt;br /&gt;   write('( '),write(A),write(' '),write(O),write(' '),&lt;br /&gt;   displayResult(ex(A1,O1,B1)),write(' )').&lt;br /&gt;displayResult(ex(A,O,B)) :-&lt;br /&gt;   number(B), A = ex(A1,O1,B1),&lt;br /&gt;   write('( '),displayResult(ex(A1,O1,B1)),write(' '),write(O),write(' '),&lt;br /&gt;   write(B),write(' )').&lt;br /&gt;displayResult(ex(A,O,B)) :-&lt;br /&gt;   A = ex(A1,O1,B1),B = ex(A2,O2,B2),&lt;br /&gt;   write('( '),displayResult(ex(A1,O1,B1)),write(' '),write(O),write(' '),&lt;br /&gt;   displayResult(ex(A2,O2,B2)),write(' )').&lt;br /&gt;&lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;br /&gt;&lt;br /&gt;% Demo program.&lt;br /&gt;&lt;br /&gt;demo :-&lt;br /&gt;   generateRandomCryptoProblem,&lt;br /&gt;   internalizeProblem,&lt;br /&gt;   displayProblem,&lt;br /&gt;   solveProblemDecompositionally,&lt;br /&gt;   displaySolution.&lt;br /&gt;&lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;br /&gt;&lt;br /&gt;% Demo five times.&lt;br /&gt;&lt;br /&gt;demo5 :-&lt;br /&gt;   demo,nl, demo,nl, demo,nl, demo,nl, demo.&lt;br /&gt;&lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;br /&gt;&lt;br /&gt;% Establish a particular crypto problem.&lt;br /&gt;&lt;br /&gt;establishCrptoProblem(numbers(N1,N2,N3,N4,N5) ,goal(G)) :-&lt;br /&gt;  addCryptoProblemToKnowledgeBase(N1,N2,N3,N4,N5,G).&lt;br /&gt;&lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;br /&gt;&lt;br /&gt;% Crypto Problem Solver.&lt;br /&gt;&lt;br /&gt;solve(numbers(N1,N2,N3,N4,N5) ,goal(G)) :-&lt;br /&gt;   establishCryptoProblem(numbers(N1,N2,N3,N4,N5) ,goal(G)),&lt;br /&gt;   internalizeProblem,&lt;br /&gt;   displayProblem,&lt;br /&gt;   solveProblemDecompositionally,&lt;br /&gt;   displaySolution.&lt;br /&gt;&lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;br /&gt;&lt;br /&gt;% Initialize problem.&lt;br /&gt;&lt;br /&gt;:- establishCryptoProblemParameters.&lt;br /&gt;&lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-5773638979244435098?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/5773638979244435098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/5773638979244435098'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/cryptopro-lab3-part4.html' title='Crypto.pro Lab3 part4'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-8168469375750947353</id><published>2009-10-06T13:25:00.003-04:00</published><updated>2009-10-06T13:28:53.852-04:00</updated><title type='text'>Demo Crypto.pro Lab3 part3</title><content type='html'>&lt;span style="font-weight:bold;"&gt;DEMO&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;?- consult('crypto.pro').&lt;br /&gt;%  combosets.pro compiled 0.00 sec, 7,584 bytes&lt;br /&gt;% crypto.pro compiled 0.00 sec, 11,152 bytes&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- crypto(1,2,3,4,5,15,Expr).&lt;br /&gt;&lt;br /&gt;Expr = ex(ex(ex(1, +, 2), +, 4), +, ex(5, +, 3)) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(ex(3, +, 4), +, ex(5, +, ex(1, +, 2))) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(5, +, ex(ex(1, +, 2), +, ex(3, +, 4))) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(5, +, ex(3, +, ex(ex(1, +, 2), +, 4))) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(ex(1, +, 2), +, ex(5, +, ex(3, +, 4))) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(3, +, ex(5, +, ex(ex(1, +, 2), +, 4))) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(ex(4, -, ex(1, +, 2)), *, ex(5, *, 3)) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(ex(4, -, 3), *, ex(5, *, ex(1, +, 2))) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(ex(5, *, ex(1, +, 2)), /, ex(4, -, 3)) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(ex(5, *, 3), /, ex(4, -, ex(1, +, 2)))&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- crypto(1,2,2,4,7,15,Expr).&lt;br /&gt;&lt;br /&gt;Expr = ex(ex(7, *, ex(1, +, 2)), -, ex(2, +, 4)) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(ex(1, +, 2), *, ex(7, +, ex(2, -, 4))) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(ex(1, +, 2), *, ex(7, -, ex(4, -, 2))) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(ex(1, +, 2), *, ex(7, -, ex(4, /, 2))) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(ex(1, +, 2), *, ex(ex(2, +, 7), -, 4)) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(ex(2, *, 7), +, ex(4, -, ex(1, +, 2))) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(ex(2, *, 7), -, ex(ex(1, +, 2), -, 4)) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(4, -, ex(ex(1, +, 2), -, ex(2, *, 7))) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(4, +, ex(ex(2, *, 7), -, ex(1, +, 2))) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(ex(4, +, ex(2, *, 7)), -, ex(1, +, 2)) ;&lt;br /&gt;&lt;br /&gt;Expr = ex(ex(2, +, ex(1, +, 2)), *, ex(7, -, 4))&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?-halt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-8168469375750947353?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/8168469375750947353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/8168469375750947353'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/demo-cryptopro-lab3-part3.html' title='Demo Crypto.pro Lab3 part3'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-7149544404212121951</id><published>2009-10-06T13:25:00.001-04:00</published><updated>2009-10-06T13:25:42.479-04:00</updated><title type='text'>Crypto.pro Lab3 part3</title><content type='html'>%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-%&lt;br /&gt;%        %&lt;br /&gt;% FILE: crypto.pro in directory xsolve2.   %&lt;br /&gt;% TYPE: Prolog source code.     %&lt;br /&gt;% LINE: Crypto.       %&lt;br /&gt;% DATE: 09/29/2009.      %&lt;br /&gt;%        %&lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-%&lt;br /&gt;&lt;br /&gt;% Load of combosets.pro&lt;br /&gt;&lt;br /&gt;:- consult('combosets.pro').&lt;br /&gt;&lt;br /&gt;crypto(N1,N2,Goal,ex(N1,+,N2)) :-Goal is (N1 + N2).&lt;br /&gt;crypto(N1,N2,Goal,ex(N1,*,N2)) :-Goal is (N1 * N2).&lt;br /&gt;crypto(N1,N2,Goal,ex(N1,-,N2)) :-Goal is (N1 - N2).&lt;br /&gt;crypto(N1,N2,Goal,ex(N2,-,N1)) :-Goal is (N2 - N1).&lt;br /&gt;crypto(N1,N2,Goal,ex(N1,/,N2)) :-N2 &gt; 0, Goal is (N1 / N2).&lt;br /&gt;crypto(N1,N2,Goal,ex(N2,/,N1)) :-N1 &gt; 0, Goal is (N2 / N1).&lt;br /&gt;&lt;br /&gt;crypto( N1, N2, N3, G, Expr ) :-&lt;br /&gt;   combos( set(N1,N2,N3), combo(A,B), extra(C) ),&lt;br /&gt;   crypto( A, B, SG, SGE ),&lt;br /&gt;   crypto( C, SG, G, UGE ),&lt;br /&gt;   substitute( SGE, SG, UGE, Expr ).&lt;br /&gt;&lt;br /&gt;crypto( N1, N2, N3, N4, G, Expr ) :-&lt;br /&gt;   combos( set(N1,N2,N3,N4), combo(A,B), extras(C,D) ),&lt;br /&gt;   crypto( A, B, SG, SGE ),&lt;br /&gt;   crypto( C, D, SG, G, UGE ),&lt;br /&gt;   substitute( SGE, SG, UGE, Expr).&lt;br /&gt;&lt;br /&gt;crypto( N1, N2, N3, N4, N5, G, Expr ) :-&lt;br /&gt;   combos( set(N1,N2,N3,N4,N5), combo(A,B), extras(C,D,E) ),&lt;br /&gt;   crypto( A, B, SG, SGE ),&lt;br /&gt;   crypto( C, D, E, SG, G, UGE ),&lt;br /&gt;   substitute( SGE, SG, UGE, Expr).&lt;br /&gt;&lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;br /&gt;% Key substitution code.&lt;br /&gt;&lt;br /&gt;substitute( New, Old, ex( Old, O, Z ), ex( New, O, Z ) ).&lt;br /&gt;substitute( New, Old, ex( X, O, Old ), ex( X, O, New ) ).&lt;br /&gt;substitute( New, Old, ex( X, O, Z ), ex( Q, O, Z) ) :-&lt;br /&gt;   substitute( New, Old, X, Q ).&lt;br /&gt;substitute( New, Old, ex( X, O, Z), ex(X, O, Q ) ) :-&lt;br /&gt;   substitute( New, Old, Z, Q ).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-7149544404212121951?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/7149544404212121951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/7149544404212121951'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/10/cryptopro-lab3-part3.html' title='Crypto.pro Lab3 part3'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-2902730956214242973</id><published>2009-09-29T14:14:00.002-04:00</published><updated>2009-09-29T14:33:39.460-04:00</updated><title type='text'>Demo Crypto.pro Lab3 part 2</title><content type='html'>&lt;span style="font-weight:bold;"&gt;DEMO&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;?- consult('crypto.pro').&lt;br /&gt;%  combosets.pro compiled 0.00 sec, 7,584 bytes&lt;br /&gt;% crypto.pro compiled 0.00 sec, 10,688 bytes&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- crypto(1,2,3,A).&lt;br /&gt;&lt;br /&gt;A = ex(1, +, 2) ;&lt;br /&gt;&lt;br /&gt;No&lt;br /&gt;?- crypto(1,2,3,6,A).&lt;br /&gt;&lt;br /&gt;A = ex(ex(1, +, 2), +, 3) ;&lt;br /&gt;&lt;br /&gt;A = ex(3, +, ex(1, +, 2)) ;&lt;br /&gt;&lt;br /&gt;A = ex(3, *, ex(1, *, 2)) ;&lt;br /&gt;&lt;br /&gt;A = ex(3, *, ex(2, /, 1)) ;&lt;br /&gt;&lt;br /&gt;A = ex(1, +, ex(2, +, 3)) ;&lt;br /&gt;&lt;br /&gt;A = ex(1, *, ex(2, *, 3)) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(2, *, 3), /, 1) ;&lt;br /&gt;&lt;br /&gt;A = ex(2, +, ex(1, +, 3)) ;&lt;br /&gt;&lt;br /&gt;A = ex(2, *, ex(1, *, 3)) ;&lt;br /&gt;&lt;br /&gt;A = ex(2, *, ex(3, /, 1)) ;&lt;br /&gt;&lt;br /&gt;No&lt;br /&gt;?- crypto(1,2,3,6,12,A).&lt;br /&gt;&lt;br /&gt;A = ex(ex(1, +, 2), +, ex(3, +, 6)) ;&lt;br /&gt;&lt;br /&gt;A = ex(3, +, ex(ex(1, +, 2), +, 6)) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(1, +, 2), +, ex(6, +, 3)) ;&lt;br /&gt;&lt;br /&gt;A = ex(3, +, ex(6, +, ex(1, +, 2))) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(ex(1, +, 2), +, 3), +, 6) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(3, +, ex(1, +, 2)), +, 6) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, +, ex(ex(1, +, 2), +, 3)) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, +, ex(3, +, ex(1, +, 2))) ;&lt;br /&gt;&lt;br /&gt;A = ex(3, *, ex(6, -, ex(1, *, 2))) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(3, *, ex(1, *, 2)), +, 6) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, +, ex(3, *, ex(1, *, 2))) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, *, ex(3, +, ex(1, -, 2))) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, *, ex(3, -, ex(2, -, 1))) ;&lt;br /&gt;&lt;br /&gt;A = ex(3, *, ex(6, -, ex(2, /, 1))) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(3, *, ex(2, /, 1)), +, 6) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, +, ex(3, *, ex(2, /, 1))) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(1, +, 3), +, ex(2, +, 6)) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(1, +, 3), *, ex(6, /, 2)) ;&lt;br /&gt;&lt;br /&gt;A = ex(2, +, ex(6, +, ex(1, +, 3))) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(6, *, ex(1, +, 3)), /, 2) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(2, +, ex(1, +, 3)), +, 6) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, +, ex(2, +, ex(1, +, 3))) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, *, ex(ex(1, +, 3), -, 2)) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, *, ex(ex(1, +, 3), /, 2)) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(1, *, 3), *, ex(6, -, 2)) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(2, *, ex(1, *, 3)), +, 6) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, +, ex(2, *, ex(1, *, 3))) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(3, /, 1), *, ex(6, -, 2)) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(2, *, ex(3, /, 1)), +, 6) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, +, ex(2, *, ex(3, /, 1))) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(1, +, 6), +, ex(2, +, 3)) ;&lt;br /&gt;&lt;br /&gt;A = ex(2, +, ex(3, +, ex(1, +, 6))) ;&lt;br /&gt;&lt;br /&gt;A = ex(3, +, ex(2, +, ex(1, +, 6))) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(2, *, 3), +, ex(1, *, 6)) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(1, *, 6), +, ex(2, *, 3)) ;&lt;br /&gt;&lt;br /&gt;A = ex(3, *, ex(ex(1, *, 6), -, 2)) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(2, *, 3), +, ex(6, /, 1)) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(6, /, 1), +, ex(2, *, 3)) ;&lt;br /&gt;&lt;br /&gt;A = ex(3, *, ex(ex(6, /, 1), -, 2)) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(2, +, 3), +, ex(1, +, 6)) ;&lt;br /&gt;&lt;br /&gt;A = ex(1, +, ex(6, +, ex(2, +, 3))) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(1, +, ex(2, +, 3)), +, 6) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, +, ex(1, +, ex(2, +, 3))) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(1, *, 6), +, ex(2, *, 3)) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(1, *, ex(2, *, 3)), +, 6) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(2, *, 3), +, ex(1, *, 6)) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, +, ex(1, *, ex(2, *, 3))) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(6, /, 1), +, ex(2, *, 3)) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(ex(2, *, 3), /, 1), +, 6) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(2, *, 3), +, ex(6, /, 1)) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, +, ex(ex(2, *, 3), /, 1)) ;&lt;br /&gt;&lt;br /&gt;A = ex(1, *, ex(ex(2, *, 3), +, 6)) ;&lt;br /&gt;&lt;br /&gt;A = ex(1, *, ex(6, +, ex(2, *, 3))) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(ex(2, *, 3), +, 6), /, 1) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(6, +, ex(2, *, 3)), /, 1) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(1, *, 6), +, ex(2, *, 3)) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(1, *, ex(2, *, 3)), +, 6) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(2, *, 3), +, ex(1, *, 6)) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, +, ex(1, *, ex(2, *, 3))) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(6, /, 1), +, ex(2, *, 3)) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(ex(2, *, 3), /, 1), +, 6) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(2, *, 3), +, ex(6, /, 1)) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, +, ex(ex(2, *, 3), /, 1)) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, *, ex(1, -, ex(2, -, 3))) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, *, ex(ex(3, -, 2), +, 1)) ;&lt;br /&gt;&lt;br /&gt;A = ex(6, *, ex(1, +, ex(3, -, 2))) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(2, +, 6), +, ex(1, +, 3)) ;&lt;br /&gt;&lt;br /&gt;A = ex(1, +, ex(3, +, ex(2, +, 6))) ;&lt;br /&gt;&lt;br /&gt;A = ex(3, +, ex(1, +, ex(2, +, 6))) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(6, -, 2), *, ex(1, *, 3)) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(6, -, 2), *, ex(3, /, 1)) ;&lt;br /&gt;&lt;br /&gt;A = ex(1, *, ex(3, *, ex(6, -, 2))) ;&lt;br /&gt;&lt;br /&gt;A = ex(ex(3, *, ex(6, -, 2)), /, 1)&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- halt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-2902730956214242973?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/2902730956214242973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/2902730956214242973'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/09/demo-cryptopro-lab3-part-2.html' title='Demo Crypto.pro Lab3 part 2'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-7467698514351277938</id><published>2009-09-29T14:11:00.000-04:00</published><updated>2009-09-29T14:14:04.151-04:00</updated><title type='text'>Crypto.pro Lab3 part 2</title><content type='html'>%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-%&lt;br /&gt;%        %&lt;br /&gt;% FILE: crypto.pro in directory xsolve1.   %&lt;br /&gt;% TYPE: Prolog source code.     %&lt;br /&gt;% LINE: Crypto.       %&lt;br /&gt;% DATE: 09/29/2009.      %&lt;br /&gt;%        %&lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-%&lt;br /&gt;&lt;br /&gt;% Load of combosets.pro&lt;br /&gt;&lt;br /&gt;:- consult('combosets.pro').&lt;br /&gt;&lt;br /&gt;crypto(N1,N2,Goal,ex(N1,+,N2)) :-Goal is (N1 + N2).&lt;br /&gt;crypto(N1,N2,Goal,ex(N1,*,N2)) :-Goal is (N1 * N2).&lt;br /&gt;crypto(N1,N2,Goal,ex(N1,-,N2)) :-Goal is (N1 - N2).&lt;br /&gt;crypto(N1,N2,Goal,ex(N2,-,N1)) :-Goal is (N2 - N1).&lt;br /&gt;crypto(N1,N2,Goal,ex(N1,/,N2)) :-N2 &gt; 0, Goal is (N1 / N2).&lt;br /&gt;crypto(N1,N2,Goal,ex(N2,/,N1)) :-N1 &gt; 0, Goal is (N2 / N1).&lt;br /&gt;&lt;br /&gt;crypto( N1, N2, N3, G, Expr ) :-&lt;br /&gt;   combos( set(N1,N2,N3), combo(A,B), extra(C) ),&lt;br /&gt;   crypto( A, B, SG, SGE ),&lt;br /&gt;   crypto( C, SG, G, UGE ),&lt;br /&gt;   substitute( SGE, SG, UGE, Expr ).&lt;br /&gt;&lt;br /&gt;crypto( N1, N2, N3, N4, G, Expr ) :-&lt;br /&gt;   combos( set(N1,N2,N3,N4), combo(A,B), extra(C,D) ),&lt;br /&gt;   crypto( A, B, SG, SGE ),&lt;br /&gt;   crypto( C, D, SG, G, UGE ),&lt;br /&gt;   substitute( SGE, SG, UGE, Expr ).&lt;br /&gt;&lt;br /&gt;%-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;br /&gt;% Key substitution code.&lt;br /&gt;&lt;br /&gt;substitute( New, Old, ex( Old, O, Z ), ex( New, O, Z ) ).&lt;br /&gt;substitute( New, Old, ex( X, O, Old ), ex( X, O, New ) ).&lt;br /&gt;substitute( New, Old, ex( X, O, Z ), ex( Q, O, Z) ) :-&lt;br /&gt;   substitute( New, Old, X, Q ).&lt;br /&gt;substitute( New, Old, ex( X, O, Z), ex(X, O, Q ) ) :-&lt;br /&gt;   substitute( New, Old, Z, Q ).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-7467698514351277938?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/7467698514351277938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/7467698514351277938'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/09/cryptopro-lab3-part-2.html' title='Crypto.pro Lab3 part 2'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-5188667723511383651</id><published>2009-09-29T10:24:00.000-04:00</published><updated>2009-09-29T10:25:51.174-04:00</updated><title type='text'>Demo combosets.pro</title><content type='html'>&lt;span style="font-weight:bold;"&gt;DEMO&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;?- consult('combosets.pro').&lt;br /&gt;% combosets.pro compiled 0.00 sec, 7,432 bytes&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;&lt;br /&gt;?- combos(set(a,b,c),C,X).&lt;br /&gt;&lt;br /&gt;C = combo(a, b)&lt;br /&gt;X = extra(c) ;&lt;br /&gt;&lt;br /&gt;C = combo(b, c)&lt;br /&gt;X = extra(a) ;&lt;br /&gt;&lt;br /&gt;C = combo(a, c)&lt;br /&gt;X = extra(b) ;&lt;br /&gt;&lt;br /&gt;No&lt;br /&gt;&lt;br /&gt;?- combos(set(1,2,3,7),C,X).&lt;br /&gt;&lt;br /&gt;C = combo(1, 2)&lt;br /&gt;X = extras(3, 7) ;&lt;br /&gt;&lt;br /&gt;C = combo(1, 3)&lt;br /&gt;X = extras(2, 7) ;&lt;br /&gt;&lt;br /&gt;C = combo(1, 7)&lt;br /&gt;X = extras(2, 3) ;&lt;br /&gt;&lt;br /&gt;C = combo(2, 3)&lt;br /&gt;X = extras(1, 7) ;&lt;br /&gt;&lt;br /&gt;C = combo(2, 7)&lt;br /&gt;X = extras(1, 3) ;&lt;br /&gt;&lt;br /&gt;C = combo(3, 7)&lt;br /&gt;X = extras(1, 2) ;&lt;br /&gt;&lt;br /&gt;No&lt;br /&gt;&lt;br /&gt;?- combos(set(12,2,4,6),C,X).&lt;br /&gt;&lt;br /&gt;C = combo(12, 2)&lt;br /&gt;X = extras(4, 6) ;&lt;br /&gt;&lt;br /&gt;C = combo(12, 4)&lt;br /&gt;X = extras(2, 6) ;&lt;br /&gt;&lt;br /&gt;C = combo(12, 6)&lt;br /&gt;X = extras(2, 4) ;&lt;br /&gt;&lt;br /&gt;C = combo(2, 4)&lt;br /&gt;X = extras(12, 6) ;&lt;br /&gt;&lt;br /&gt;C = combo(2, 6)&lt;br /&gt;X = extras(12, 4) ;&lt;br /&gt;&lt;br /&gt;C = combo(4, 6)&lt;br /&gt;X = extras(12, 2) ;&lt;br /&gt;&lt;br /&gt;No&lt;br /&gt;&lt;br /&gt;?-halt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-5188667723511383651?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/5188667723511383651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/5188667723511383651'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/09/demo-combosetspro.html' title='Demo combosets.pro'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-4171025238045054539</id><published>2009-09-29T10:22:00.000-04:00</published><updated>2009-09-29T10:23:59.190-04:00</updated><title type='text'>Combosets.pro</title><content type='html'>&lt;span style="font-weight:bold;"&gt;% FILE:  combosets.pro&lt;br /&gt;% TYPE:  Prolog source&lt;br /&gt;% LINE:  a bit of combinatorial set code&lt;br /&gt;% DATE:  November, 1995&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;%-----------------------------------------------------------------&lt;br /&gt;% combination procedures&lt;br /&gt;&lt;br /&gt;combos( set(N1,N2,N3), combo(N1,N2), extra(N3) ).&lt;br /&gt;combos( set(N1,N2,N3), combo(N2,N3), extra(N1) ).&lt;br /&gt;combos( set(N1,N2,N3), combo(N1,N3), extra(N2) ).&lt;br /&gt;&lt;br /&gt;combos( set(N1,N2,N3,N4), combo(N1,N2), extras(N3,N4) ).&lt;br /&gt;combos( set(N1,N2,N3,N4), combo(N1,N3), extras(N2,N4) ).&lt;br /&gt;combos( set(N1,N2,N3,N4), combo(N1,N4), extras(N2,N3) ).&lt;br /&gt;combos( set(N1,N2,N3,N4), combo(N2,N3), extras(N1,N4) ).&lt;br /&gt;combos( set(N1,N2,N3,N4), combo(N2,N4), extras(N1,N3) ).&lt;br /&gt;combos( set(N1,N2,N3,N4), combo(N3,N4), extras(N1,N2) ).&lt;br /&gt;&lt;br /&gt;combos( set(N1,N2,N3,N4,N5), combo(N1,N2), extras(N3,N4,N5) ).&lt;br /&gt;combos( set(N1,N2,N3,N4,N5), combo(N1,N3), extras(N2,N4,N5) ).&lt;br /&gt;combos( set(N1,N2,N3,N4,N5), combo(N1,N4), extras(N2,N3,N5) ).&lt;br /&gt;combos( set(N1,N2,N3,N4,N5), combo(N1,N5), extras(N2,N3,N4) ).&lt;br /&gt;combos( set(N1,N2,N3,N4,N5), combo(N2,N3), extras(N1,N4,N5) ).&lt;br /&gt;combos( set(N1,N2,N3,N4,N5), combo(N2,N4), extras(N1,N3,N5) ).&lt;br /&gt;combos( set(N1,N2,N3,N4,N5), combo(N2,N5), extras(N1,N3,N4) ).&lt;br /&gt;combos( set(N1,N2,N3,N4,N5), combo(N3,N4), extras(N1,N2,N5) ).&lt;br /&gt;combos( set(N1,N2,N3,N4,N5), combo(N3,N5), extras(N1,N2,N4) ).&lt;br /&gt;combos( set(N1,N2,N3,N4,N5), combo(N4,N5), extras(N1,N2,N3) ).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;%-----------------------------------------------------------------&lt;br /&gt;% the permutation facts&lt;br /&gt;&lt;br /&gt;perm(s(A,B),p(A,B)).&lt;br /&gt;perm(s(A,B),p(B,A)).&lt;br /&gt;&lt;br /&gt;perm(s(A,B,C),p(A,X,Y)) :- perm(s(B,C),p(X,Y)).&lt;br /&gt;perm(s(A,B,C),p(B,X,Y)) :- perm(s(A,C),p(X,Y)).&lt;br /&gt;perm(s(A,B,C),p(C,X,Y)) :- perm(s(A,B),p(X,Y)).&lt;br /&gt;&lt;br /&gt;perm(s(A,B,C,D),p(A,X,Y,Z)) :- perm(s(B,C,D),p(X,Y,Z)).&lt;br /&gt;perm(s(A,B,C,D),p(B,X,Y,Z)) :- perm(s(A,C,D),p(X,Y,Z)).&lt;br /&gt;perm(s(A,B,C,D),p(C,X,Y,Z)) :- perm(s(A,B,D),p(X,Y,Z)).&lt;br /&gt;perm(s(A,B,C,D),p(D,X,Y,Z)) :- perm(s(A,B,C),p(X,Y,Z)).&lt;br /&gt;&lt;br /&gt;perm(s(A,B,C,D,E),p(A,X,Y,Z,W)) :- perm(s(B,C,D,E),p(X,Y,Z,W)).&lt;br /&gt;perm(s(A,B,C,D,E),p(B,X,Y,Z,W)) :- perm(s(A,C,D,E),p(X,Y,Z,W)).&lt;br /&gt;perm(s(A,B,C,D,E),p(C,X,Y,Z,W)) :- perm(s(B,A,D,E),p(X,Y,Z,W)).&lt;br /&gt;perm(s(A,B,C,D,E),p(D,X,Y,Z,W)) :- perm(s(B,C,A,E),p(X,Y,Z,W)).&lt;br /&gt;perm(s(A,B,C,D,E),p(E,X,Y,Z,W)) :- perm(s(B,C,D,A),p(X,Y,Z,W)).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-4171025238045054539?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/4171025238045054539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/4171025238045054539'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/09/combosetspro.html' title='Combosets.pro'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-8991648745170194374</id><published>2009-09-24T13:05:00.001-04:00</published><updated>2009-09-29T14:06:55.171-04:00</updated><title type='text'>Demo crypto.pro Lab 2</title><content type='html'>&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;DEMO.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Welcome to SWI-Prolog (Multi-threaded, Version 5.6.24)&lt;br /&gt;Copyright (c) 1990-2006 University of Amsterdam.&lt;br /&gt;SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,&lt;br /&gt;and you are welcome to redistribute it under certain conditions.&lt;br /&gt;Please visit http://www.swi-prolog.org for details.&lt;br /&gt;&lt;br /&gt;For help, use ?- help(Topic). or ?- apropos(Word).&lt;br /&gt;&lt;br /&gt;?- consult('crypto.pro').&lt;br /&gt;%  gv.pro compiled 0.00 sec, 2,544 bytes&lt;br /&gt;% crypto.pro compiled 0.00 sec, 5,528 bytes&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- eCryptoP.&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- gRNumber(N).&lt;br /&gt;&lt;br /&gt;N = 2 ;&lt;br /&gt;&lt;br /&gt;No&lt;br /&gt;?- gRProblem.&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- gRProblem.&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- gRProblem.&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- gRProblem.&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- gRProblem.&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- gRProblem.&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- gRProblem.&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- gRProblem.&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- gRProblem.&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- gRProblem.&lt;br /&gt;&lt;br /&gt;Yes&lt;br /&gt;?- demo.&lt;br /&gt;Crypto Problem: Numbers = { 10, 5, 0, 14, 14}  Goal = 8&lt;br /&gt;Crypto Problem: Numbers = { 2, 0, 11, 1, 8}  Goal = 13&lt;br /&gt;Crypto Problem: Numbers = { 6, 0, 5, 1, 7}  Goal = 0&lt;br /&gt;Crypto Problem: Numbers = { 8, 8, 6, 4, 14}  Goal = 3&lt;br /&gt;Crypto Problem: Numbers = { 12, 2, 8, 10, 6}  Goal = 4&lt;br /&gt;Crypto Problem: Numbers = { 13, 11, 13, 11, 10}  Goal = 12&lt;br /&gt;Crypto Problem: Numbers = { 4, 9, 5, 11, 1}  Goal = 7&lt;br /&gt;Crypto Problem: Numbers = { 13, 8, 12, 15, 3}  Goal = 13&lt;br /&gt;Crypto Problem: Numbers = { 6, 5, 12, 0, 2}  Goal = 3&lt;br /&gt;Crypto Problem: Numbers = { 6, 9, 13, 0, 2}  Goal = 14&lt;br /&gt;&lt;br /&gt;No&lt;br /&gt;?- halt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-8991648745170194374?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/8991648745170194374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/8991648745170194374'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/09/demo-cryptopro.html' title='Demo crypto.pro Lab 2'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4733372239394917809.post-4436777123896937419</id><published>2009-09-18T10:27:00.000-04:00</published><updated>2009-09-24T13:05:24.831-04:00</updated><title type='text'>crypto.pro</title><content type='html'>%----------------------------------------------------------------------------&lt;br /&gt;% Jeremey Ferris Cog 366 Lab #2 Random Crypto Problem Generator&lt;br /&gt;% Filename: crytpo.pro&lt;br /&gt;% Load Files: gv.pro&lt;br /&gt;% Date Created: 09/16/2009&lt;br /&gt;%-----------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;:-consult('gv.pro').&lt;br /&gt;&lt;br /&gt;eCryptoP:-&lt;br /&gt; declare(a,0),&lt;br /&gt; declare(b,15).&lt;br /&gt;&lt;br /&gt;gRNumber(N):-&lt;br /&gt; valueOf(a,Lo),&lt;br /&gt; valueOf(b,Hi),&lt;br /&gt; Hip is Hi+1,&lt;br /&gt; random(Lo,Hip,N).&lt;br /&gt;&lt;br /&gt;gRProblem:-&lt;br /&gt; gRNumber(N1),&lt;br /&gt; gRNumber(N2),&lt;br /&gt; gRNumber(N3),&lt;br /&gt; gRNumber(N4),&lt;br /&gt; gRNumber(N5),&lt;br /&gt; gRNumber(G),&lt;br /&gt; addProbToKB(N1,N2,N3,N4,N5,G).&lt;br /&gt;&lt;br /&gt;addProbToKB(N1,N2,N3,N4,N5,G):-&lt;br /&gt; retract(problem(numbers(N1,N2,N3,N4,N5),goal(G))),&lt;br /&gt; assert(problem(numbers(N1,N2,N3,N4,N5),goal(G))).&lt;br /&gt;addProbToKB(N1,N2,N3,N4,N5,G):- &lt;br /&gt; assert(problem(numbers(N1,N2,N3,N4,N5),goal(G))).&lt;br /&gt;&lt;br /&gt;demo:-&lt;br /&gt; problem(numbers(N1,N2,N3,N4,N5),goal(G)),&lt;br /&gt; write('Crypto Problem: Numbers = { '),&lt;br /&gt; write(N1), write(', '),&lt;br /&gt; write(N2), write(', '),&lt;br /&gt; write(N3), write(', '),&lt;br /&gt; write(N4), write(', '),&lt;br /&gt; write(N5), write('}  Goal = '),&lt;br /&gt; write(G),nl,fail.&lt;br /&gt; eCryptoP.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4733372239394917809-4436777123896937419?l=prologovision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/4436777123896937419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4733372239394917809/posts/default/4436777123896937419'/><link rel='alternate' type='text/html' href='http://prologovision.blogspot.com/2009/09/crypto-generation.html' title='crypto.pro'/><author><name>Jeremey</name><uri>http://www.blogger.com/profile/02276849257537216450</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://2.bp.blogspot.com/_xGvrCZTVKE8/Sruw-HhckSI/AAAAAAAAAA0/oPKyjBwegyU/S220/thinking_monkey.jpg'/></author></entry></feed>
