summaryrefslogtreecommitdiff
path: root/prolog/problems
diff options
context:
space:
mode:
Diffstat (limited to 'prolog/problems')
-rw-r--r--prolog/problems/clp_fd/gcd_3/en.py4
-rw-r--r--prolog/problems/clp_fd/gcd_3/sl.py4
-rw-r--r--prolog/problems/clp_fd/magic_1/en.py6
-rw-r--r--prolog/problems/clp_fd/magic_1/sl.py6
-rw-r--r--prolog/problems/clp_fd/tobase_3/en.py12
-rw-r--r--prolog/problems/clp_fd/tobase_3/sl.py12
-rw-r--r--prolog/problems/clp_r/bounding_box_3/en.py4
-rw-r--r--prolog/problems/clp_r/center_3/en.py6
-rw-r--r--prolog/problems/clp_r/max_sum_2/en.py8
-rw-r--r--prolog/problems/clp_r/megabytes_2/en.py8
-rw-r--r--prolog/problems/dcg/expr_3/en.py4
-rw-r--r--prolog/problems/dcg/expr_3/sl.py4
-rw-r--r--prolog/problems/dcg/number_3/en.py4
-rw-r--r--prolog/problems/dcg/number_3/sl.py4
-rw-r--r--prolog/problems/dcg/paren_3/en.py4
-rw-r--r--prolog/problems/dcg/paren_3/sl.py4
-rw-r--r--prolog/problems/denotational_semantics/algol_3/en.py40
-rw-r--r--prolog/problems/denotational_semantics/algol_for_3/en.py16
-rw-r--r--prolog/problems/denotational_semantics/algol_if_3/en.py18
-rw-r--r--prolog/problems/denotational_semantics/prog_8puzzle_3/en.py4
-rw-r--r--prolog/problems/denotational_semantics/prog_listswap_3/en.py4
-rw-r--r--prolog/problems/family_relations/ancestor_2/en.py8
-rw-r--r--prolog/problems/family_relations/ancestor_2/sl.py8
-rw-r--r--prolog/problems/family_relations/aunt_2/en.py6
-rw-r--r--prolog/problems/family_relations/aunt_2/sl.py6
-rw-r--r--prolog/problems/family_relations/brother_2/en.py6
-rw-r--r--prolog/problems/family_relations/brother_2/sl.py6
-rw-r--r--prolog/problems/family_relations/connected_3/en.py8
-rw-r--r--prolog/problems/family_relations/cousin_2/en.py6
-rw-r--r--prolog/problems/family_relations/cousin_2/sl.py6
-rw-r--r--prolog/problems/family_relations/descendant_2/en.py8
-rw-r--r--prolog/problems/family_relations/descendant_2/sl.py8
-rw-r--r--prolog/problems/family_relations/father_2/en.py10
-rw-r--r--prolog/problems/family_relations/father_2/sl.py10
-rw-r--r--prolog/problems/family_relations/grandparent_2/en.py10
-rw-r--r--prolog/problems/family_relations/grandparent_2/sl.py10
-rw-r--r--prolog/problems/family_relations/mother_2/en.py10
-rw-r--r--prolog/problems/family_relations/mother_2/sl.py10
-rw-r--r--prolog/problems/family_relations/sister_2/en.py4
-rw-r--r--prolog/problems/family_relations/sister_2/sl.py4
-rw-r--r--prolog/problems/license_plates/checklicenseplate_3/en.py14
-rw-r--r--prolog/problems/license_plates/checklicenseplate_3/sl.py14
-rw-r--r--prolog/problems/license_plates/firstminus_2/en.py6
-rw-r--r--prolog/problems/license_plates/firstminus_2/sl.py6
-rw-r--r--prolog/problems/license_plates/genexp_2/en.py16
-rw-r--r--prolog/problems/license_plates/genexp_2/sl.py16
-rw-r--r--prolog/problems/license_plates/getdigits_2/en.py4
-rw-r--r--prolog/problems/license_plates/getdigits_2/sl.py4
-rw-r--r--prolog/problems/license_plates/joindigits_2/en.py10
-rw-r--r--prolog/problems/license_plates/joindigits_2/sl.py10
-rw-r--r--prolog/problems/lists/conc_3/en.py8
-rw-r--r--prolog/problems/lists/conc_3/sl.py8
-rw-r--r--prolog/problems/lists/count_3/en.py4
-rw-r--r--prolog/problems/lists/count_3/sl.py4
-rw-r--r--prolog/problems/lists/del_3/en.py18
-rw-r--r--prolog/problems/lists/del_3/sl.py18
-rw-r--r--prolog/problems/lists/divide_3/en.py8
-rw-r--r--prolog/problems/lists/divide_3/sl.py8
-rw-r--r--prolog/problems/lists/dup_2/en.py8
-rw-r--r--prolog/problems/lists/dup_2/sl.py8
-rw-r--r--prolog/problems/lists/evenlen_1_+_oddlen_1/en.py12
-rw-r--r--prolog/problems/lists/evenlen_1_+_oddlen_1/sl.py12
-rw-r--r--prolog/problems/lists/insert_3/en.py8
-rw-r--r--prolog/problems/lists/insert_3/sl.py8
-rw-r--r--prolog/problems/lists/len_2/en.py4
-rw-r--r--prolog/problems/lists/len_2/sl.py4
-rw-r--r--prolog/problems/lists/max_2/en.py8
-rw-r--r--prolog/problems/lists/max_2/sl.py8
-rw-r--r--prolog/problems/lists/memb_2/en.py12
-rw-r--r--prolog/problems/lists/memb_2/sl.py12
-rw-r--r--prolog/problems/lists/min_2/en.py8
-rw-r--r--prolog/problems/lists/min_2/sl.py8
-rw-r--r--prolog/problems/lists/palindrome_1/en.py8
-rw-r--r--prolog/problems/lists/palindrome_1/sl.py8
-rw-r--r--prolog/problems/lists/permute_2/en.py14
-rw-r--r--prolog/problems/lists/permute_2/sl.py14
-rw-r--r--prolog/problems/lists/rev_2/en.py8
-rw-r--r--prolog/problems/lists/rev_2/sl.py8
-rw-r--r--prolog/problems/lists/shiftleft_2/en.py4
-rw-r--r--prolog/problems/lists/shiftleft_2/sl.py4
-rw-r--r--prolog/problems/lists/shiftright_2/en.py4
-rw-r--r--prolog/problems/lists/shiftright_2/sl.py4
-rw-r--r--prolog/problems/lists/sublist_2/en.py16
-rw-r--r--prolog/problems/lists/sublist_2/sl.py16
-rw-r--r--prolog/problems/lists/sum_2/en.py4
-rw-r--r--prolog/problems/lists/sum_2/sl.py4
-rw-r--r--prolog/problems/old_exams/pascal_3/en.py24
-rw-r--r--prolog/problems/other/genlist_4/en.py4
-rw-r--r--prolog/problems/sets/diff_3/en.py4
-rw-r--r--prolog/problems/sets/diff_3/sl.py4
-rw-r--r--prolog/problems/sets/intersect_3/en.py4
-rw-r--r--prolog/problems/sets/intersect_3/sl.py4
-rw-r--r--prolog/problems/sets/is_subset_2/en.py8
-rw-r--r--prolog/problems/sets/is_subset_2/sl.py8
-rw-r--r--prolog/problems/sets/is_superset_2/en.py8
-rw-r--r--prolog/problems/sets/is_superset_2/sl.py8
-rw-r--r--prolog/problems/sets/powerset_2/en.py4
-rw-r--r--prolog/problems/sets/powerset_2/sl.py4
-rw-r--r--prolog/problems/sets/subset_2/en.py18
-rw-r--r--prolog/problems/sets/subset_2/sl.py18
-rw-r--r--prolog/problems/sets/union_3/en.py4
-rw-r--r--prolog/problems/sets/union_3/sl.py4
-rw-r--r--prolog/problems/sorting/is_sorted_1/en.py8
-rw-r--r--prolog/problems/sorting/is_sorted_1/sl.py8
-rw-r--r--prolog/problems/sorting/isort_2/en.py4
-rw-r--r--prolog/problems/sorting/isort_2/sl.py4
-rw-r--r--prolog/problems/sorting/pivoting_4/en.py4
-rw-r--r--prolog/problems/sorting/pivoting_4/sl.py4
-rw-r--r--prolog/problems/sorting/quick_sort_2/en.py4
-rw-r--r--prolog/problems/sorting/quick_sort_2/sl.py4
-rw-r--r--prolog/problems/sorting/sins_3/en.py8
-rw-r--r--prolog/problems/sorting/sins_3/sl.py8
-rw-r--r--prolog/problems/sorting/slowest_sort_ever_2/en.py4
-rw-r--r--prolog/problems/sorting/slowest_sort_ever_2/sl.py4
-rw-r--r--prolog/problems/trees/deletebt_3/en.py8
-rw-r--r--prolog/problems/trees/depthbt_2/en.py4
-rw-r--r--prolog/problems/trees/insertbt_3/en.py10
-rw-r--r--prolog/problems/trees/maxt_2/en.py4
-rw-r--r--prolog/problems/trees/memberbt_2/en.py8
-rw-r--r--prolog/problems/trees/membert_2/en.py8
-rw-r--r--prolog/problems/trees/mirrorbt_2/en.py4
-rw-r--r--prolog/problems/trees/numberbt_2/en.py4
-rw-r--r--prolog/problems/trees/tolistbt_2/en.py4
123 files changed, 489 insertions, 489 deletions
diff --git a/prolog/problems/clp_fd/gcd_3/en.py b/prolog/problems/clp_fd/gcd_3/en.py
index 7953eb1..8891d54 100644
--- a/prolog/problems/clp_fd/gcd_3/en.py
+++ b/prolog/problems/clp_fd/gcd_3/en.py
@@ -7,8 +7,8 @@ description = '''\
<p><code>gcd(X, Y, GCD)</code>: <code>GCD</code> is the greatest common divisor of <code>X</code> and <code>Y</code>. Implement this predicate using constraints.</p>
<p>Hint: try writing a predicate to find <em>all</em> common divisors of two numbers first.</p>
<pre>
- ?- gcd(36, 84, GCD).
- GCD = 12.
+?- gcd(36, 84, GCD).
+ GCD = 12.
</pre>'''
hint = {}
diff --git a/prolog/problems/clp_fd/gcd_3/sl.py b/prolog/problems/clp_fd/gcd_3/sl.py
index 9ef1a87..f5016fa 100644
--- a/prolog/problems/clp_fd/gcd_3/sl.py
+++ b/prolog/problems/clp_fd/gcd_3/sl.py
@@ -7,8 +7,8 @@ description = '''\
<p><code>gcd(X, Y, GCD)</code>: <code>GCD</code> je največji skupni delitelj števil <code>X</code> in <code>Y</code>. Implementiraj ta predikat z uporabo omejitev.</p>
<p>Namig: poskusi najprej napisati predikat, ki poišče <em>vse</em> skupne delitelje dveh števil.</p>
<pre>
- ?- gcd(36, 84, GCD).
- GCD = 12.
+?- gcd(36, 84, GCD).
+ GCD = 12.
</pre>'''
hint = {}
diff --git a/prolog/problems/clp_fd/magic_1/en.py b/prolog/problems/clp_fd/magic_1/en.py
index c8b5a1a..0798164 100644
--- a/prolog/problems/clp_fd/magic_1/en.py
+++ b/prolog/problems/clp_fd/magic_1/en.py
@@ -6,9 +6,9 @@ slug = 'generate a 3x3 magic square'
description = '''\
<p><code>magic(S)</code>: the list <code>S</code> represents a 3×3 magic square (<code>S</code> is a permutation of numbers 1 to 9 - three numbers for each row). The sums of numbers in each row, column and diagonal of a magic squre are equal. Implement this predicate using constraints. Your code should return all possible solutions.</p>
<pre>
- ?- magic(S).
- S = [2, 7, 6, 9, 5, 1, 4, 3, 8] ;
- …
+?- magic(S).
+ S = [2, 7, 6, 9, 5, 1, 4, 3, 8] ;
+ …
</pre>'''
hint = {}
diff --git a/prolog/problems/clp_fd/magic_1/sl.py b/prolog/problems/clp_fd/magic_1/sl.py
index 8cf040e..fa73a01 100644
--- a/prolog/problems/clp_fd/magic_1/sl.py
+++ b/prolog/problems/clp_fd/magic_1/sl.py
@@ -6,9 +6,9 @@ slug = '3x3 magični kvadrat'
description = '''\
<p><code>magic(S)</code>: seznam <code>S</code> predstavlja 3×3 magični kvadrat (<code>S</code> je permutacija števil 1 do 9 -- tri števila tvorijo eno vrstico). Vsote števil v vsaki vrstici, stolpcu in glavni diagonali magičnega kvadrata so enake. Implementiraj ta predikat z uporabo omejitev. Predikat naj vrne vse rešitve, eno po eno.</p>
<pre>
- ?- magic(S).
- S = [2, 7, 6, 9, 5, 1, 4, 3, 8] ;
- …
+?- magic(S).
+ S = [2, 7, 6, 9, 5, 1, 4, 3, 8] ;
+ …
</pre>'''
hint = {}
diff --git a/prolog/problems/clp_fd/tobase_3/en.py b/prolog/problems/clp_fd/tobase_3/en.py
index c05ab2a..41f8889 100644
--- a/prolog/problems/clp_fd/tobase_3/en.py
+++ b/prolog/problems/clp_fd/tobase_3/en.py
@@ -6,12 +6,12 @@ slug = 'convert numbers from/to the decimal system'
description = '''\
<p><code>tobase(Number, B, X)</code>: given a <code>Number</code> in the decimal system (base 10), <code>X</code> represents the same number in the system with base <code>B</code>. Implement this predicate using constraints. Limit the value of <code>B</code> to the interval [2..10].</p>
<pre>
- ?- tobase(42, 2, X).
- X = 101010.
- ?- tobase(N, 2, 101010).
- N = 42.
- ?- tobase(42, B, 101010).
- B = 2.
+?- tobase(42, 2, X).
+ X = 101010.
+?- tobase(N, 2, 101010).
+ N = 42.
+?- tobase(42, B, 101010).
+ B = 2.
</pre>'''
hint = {}
diff --git a/prolog/problems/clp_fd/tobase_3/sl.py b/prolog/problems/clp_fd/tobase_3/sl.py
index a775808..72879af 100644
--- a/prolog/problems/clp_fd/tobase_3/sl.py
+++ b/prolog/problems/clp_fd/tobase_3/sl.py
@@ -6,12 +6,12 @@ slug = 'Pretvori števila v/iz desetiškega sistema'
description = '''\
<p><code>tobase(Number, B, X)</code>: število <code>Number</code> je v desetiškem sistemu. <code>X</code> predstavlja to število v sistemu z bazo <code>B</code>. Implementiraj predikat z uporabo omejitev. Omeji vrednost <code>B</code> na interval [2..10].</p>
<pre>
- ?- tobase(42, 2, X).
- X = 101010.
- ?- tobase(N, 2, 101010).
- N = 42.
- ?- tobase(42, B, 101010).
- B = 2.
+?- tobase(42, 2, X).
+ X = 101010.
+?- tobase(N, 2, 101010).
+ N = 42.
+?- tobase(42, B, 101010).
+ B = 2.
</pre>'''
hint = {}
diff --git a/prolog/problems/clp_r/bounding_box_3/en.py b/prolog/problems/clp_r/bounding_box_3/en.py
index 8c6a9f7..efb7a55 100644
--- a/prolog/problems/clp_r/bounding_box_3/en.py
+++ b/prolog/problems/clp_r/bounding_box_3/en.py
@@ -6,8 +6,8 @@ slug = 'find the smallest bounding box'
description = '''\
<p><code>bounding_box(Points, X1/Y1, X2/Y2)</code>: <code>X1/Y1</code> and <code>X2/Y2</code> are the bottom-left and top-right points defining the smallest bounding box containing all points in the list <code>Points</code>.
<pre>
- ?- bounding_box([4.5/2.3, 3.6/1.2, 6.7/0.1], X1/Y1, X2/Y2).
- X1 = 3.6, Y1 = 0.1, X2 = 6.7, Y2 = 2.3.
+?- bounding_box([4.5/2.3, 3.6/1.2, 6.7/0.1], X1/Y1, X2/Y2).
+ X1 = 3.6, Y1 = 0.1, X2 = 6.7, Y2 = 2.3.
</pre>'''
hint = {}
diff --git a/prolog/problems/clp_r/center_3/en.py b/prolog/problems/clp_r/center_3/en.py
index ae5aeb8..e6ca645 100644
--- a/prolog/problems/clp_r/center_3/en.py
+++ b/prolog/problems/clp_r/center_3/en.py
@@ -6,9 +6,9 @@ slug = 'find central points'
description = '''\
<p><code>center(Points, R, X/Y)</code>: <code>X/Y</code> is a point in the list <code>Points</code> that is at most <code>R</code> away from all other points.</p>
<pre>
- ?- center([1.0/1.1, 2.0/2.1, 3.0/3.1, 4.0/4.1], 4.0, X/Y).
- X = 2.0, Y = 2.1 ;
- X = 3.0, Y = 3.1.
+?- center([1.0/1.1, 2.0/2.1, 3.0/3.1, 4.0/4.1], 4.0, X/Y).
+ X = 2.0, Y = 2.1 ;
+ X = 3.0, Y = 3.1.
</pre>'''
hint = {}
diff --git a/prolog/problems/clp_r/max_sum_2/en.py b/prolog/problems/clp_r/max_sum_2/en.py
index eeff4cd..269f8b3 100644
--- a/prolog/problems/clp_r/max_sum_2/en.py
+++ b/prolog/problems/clp_r/max_sum_2/en.py
@@ -6,10 +6,10 @@ slug = 'find maximal adjacent elements'
description = '''\
<p><code>max_sum(List, Max)</code>: <code>Max</code> is the maximal sum of two adjacent elements in <code>List</code>.</p>
<pre>
- ?- max_sum([4.5, 3.6, 1.2, 6.7], Max).
- Max = 8.1.
- ?- max_sum([1.1, 1.2, -12.3, 8.8], Max).
- Max = 2.3.
+?- max_sum([4.5, 3.6, 1.2, 6.7], Max).
+ Max = 8.1.
+?- max_sum([1.1, 1.2, -12.3, 8.8], Max).
+ Max = 2.3.
</pre>'''
hint = {}
diff --git a/prolog/problems/clp_r/megabytes_2/en.py b/prolog/problems/clp_r/megabytes_2/en.py
index 01fdfff..27919dc 100644
--- a/prolog/problems/clp_r/megabytes_2/en.py
+++ b/prolog/problems/clp_r/megabytes_2/en.py
@@ -6,10 +6,10 @@ slug = 'convert mebibytes to megabytes'
description = '''\
<p>A <em>mega</em>byte is the SI unit meaning 10<sup>6</sup> bytes, while a <em>mebi</em>byte is the IEC unit meaning 2<sup>20</sup> bytes. Write the predicate <code>megabytes(SI, IEC)</code> that converts between the two using constraints.</p>
<pre>
- ?- megabytes(2, IEC).
- IEC = 1.9073486328125.
- ?- megabytes(SI, 2).
- SI = 2.097152.
+?- megabytes(2, IEC).
+ IEC = 1.9073486328125.
+?- megabytes(SI, 2).
+ SI = 2.097152.
</pre>'''
hint = {}
diff --git a/prolog/problems/dcg/expr_3/en.py b/prolog/problems/dcg/expr_3/en.py
index 298ebeb..f853ad2 100644
--- a/prolog/problems/dcg/expr_3/en.py
+++ b/prolog/problems/dcg/expr_3/en.py
@@ -7,8 +7,8 @@ description = '''\
<p>Write a DCG with the starting symbol <code>expr</code> for the language of arithmetic expressions consisting of numbers (without leading zeros), addition and multiplication. Subexpressions can be grouped using parentheses. The meaning of a word in this language is the numeric value of the represented arithmetic expression.</p>
<p>Example words: <code>(1+2)*3</code>, <code>42*8*3</code>, <code>(2+1)*(3+4)</code>.</p>
<pre>
- ?- expr(N, ['(',2,'+',1,')','*','(',3,'+',4,')'], []). % (2+1)*(3+4) = 21
- N = 21.
+?- expr(N, ['(',2,'+',1,')','*','(',3,'+',4,')'], []). % (2+1)*(3+4) = 21
+ N = 21.
</pre>
'''
diff --git a/prolog/problems/dcg/expr_3/sl.py b/prolog/problems/dcg/expr_3/sl.py
index 734a6ea..23fed26 100644
--- a/prolog/problems/dcg/expr_3/sl.py
+++ b/prolog/problems/dcg/expr_3/sl.py
@@ -7,8 +7,8 @@ description = '''\
<p>Napiši gramatiko z začetnim simbolom <code>expr</code> za jezik aritmetičnih izrazov, ki vsebujejo števila (brez vodilnih ničel), vsoto in množenje. Podizrazi se lahko združujejo z oklepaji. Pomen besede v tem jeziku je numerična vrednost predstavljenega izraza.</p>
<p>Primeri veljavnih besed: <code>(1+2)*3</code>, <code>42*8*3</code>, <code>(2+1)*(3+4)</code>.</p>
<pre>
- ?- expr(N, ['(',2,'+',1,')','*','(',3,'+',4,')'], []). % (2+1)*(3+4) = 21
- N = 21.
+?- expr(N, ['(',2,'+',1,')','*','(',3,'+',4,')'], []). % (2+1)*(3+4) = 21
+ N = 21.
</pre>
'''
diff --git a/prolog/problems/dcg/number_3/en.py b/prolog/problems/dcg/number_3/en.py
index c2f9c3d..6516db7 100644
--- a/prolog/problems/dcg/number_3/en.py
+++ b/prolog/problems/dcg/number_3/en.py
@@ -6,8 +6,8 @@ slug = 'numbers with meaning'
description = '''\
<p>Write a DCG with the starting symbol <code>number</code> for the language of non-negative integers. The numbers may contain leading zeros. The meaning of a word in this language is the numeric value of the represented number.</p>
<pre>
- ?- number(N, [1,2,3,4], []).
- N = 1234.
+?- number(N, [1,2,3,4], []).
+ N = 1234.
</pre>
'''
diff --git a/prolog/problems/dcg/number_3/sl.py b/prolog/problems/dcg/number_3/sl.py
index eeb4db2..bcb2cf4 100644
--- a/prolog/problems/dcg/number_3/sl.py
+++ b/prolog/problems/dcg/number_3/sl.py
@@ -6,8 +6,8 @@ slug = 'Števila s pomenom'
description = '''\
<p>Napiši gramatiko z začetnim simbolom <code>number</code> za jezik nenegativnih celih števil. Števila lahko vsebujejo vodilne ničle. Pomen besede v tem jeziku je kar numerična vrednost predstavljenega števila.</p>
<pre>
- ?- number(N, [1,2,3,4], []).
- N = 1234.
+?- number(N, [1,2,3,4], []).
+ N = 1234.
</pre>
'''
diff --git a/prolog/problems/dcg/paren_3/en.py b/prolog/problems/dcg/paren_3/en.py
index 56519ff..4a8e0a8 100644
--- a/prolog/problems/dcg/paren_3/en.py
+++ b/prolog/problems/dcg/paren_3/en.py
@@ -6,8 +6,8 @@ slug = 'properly nested parens with meaning'
description = '''\
<p>Write a DCG with the starting symbol <code>paren</code> for the language of properly nested sequences of parentheses. The meaning of a word in this language is the maximum depth of the nested parentheses.</p>
<pre>
- ?- paren(D, ['(','(',')',')','(',')'], []). % (())()
- D = 2.
+?- paren(D, ['(','(',')',')','(',')'], []). % (())()
+ D = 2.
</pre>
'''
diff --git a/prolog/problems/dcg/paren_3/sl.py b/prolog/problems/dcg/paren_3/sl.py
index a98eb8b..d721506 100644
--- a/prolog/problems/dcg/paren_3/sl.py
+++ b/prolog/problems/dcg/paren_3/sl.py
@@ -6,8 +6,8 @@ slug = 'Pravilno gnezdeni oklepaji s pomenom'
description = '''\
<p>Napiši gramatiko z začetnim simbolom <code>paren</code> za jezik pravilno gnezdenih zaporedij oklepajev. Pomen besede v tem jeziku je največja globina gnezdenja oklepajev.</p>
<pre>
- ?- paren(D, ['(','(',')',')','(',')'], []). % (())()
- D = 2.
+?- paren(D, ['(','(',')',')','(',')'], []). % (())()
+ D = 2.
</pre>
'''
diff --git a/prolog/problems/denotational_semantics/algol_3/en.py b/prolog/problems/denotational_semantics/algol_3/en.py
index c5da13e..59a9bd2 100644
--- a/prolog/problems/denotational_semantics/algol_3/en.py
+++ b/prolog/problems/denotational_semantics/algol_3/en.py
@@ -6,28 +6,28 @@ slug = 'interpreter for mini-algol'
description = '''\
<p>A DCG for mini-algol.</p>
<pre>
- % apply a function to a starting state
- ?- apply([a=2], Out, fun(_In, Out, eval(a+3, _In, Out))).
- Out = 5.
+% apply a function to a starting state
+?- apply([a=2], Out, fun(_In, Out, eval(a+3, _In, Out))).
+ Out = 5.
- % a := a+b
- % b := a-b
- % a := a-b
- ?- _Program = [begin,a,:=,a+b,b,:=,a-b,a,:=,a-b,end],
- algol(_F, _Program, []),
- apply([a=3,b=5], Output, _F).
- Output = [a=5,b=3,printout=[]].
+% a := a+b
+% b := a-b
+% a := a-b
+?- _Program = [begin,a,:=,a+b,b,:=,a-b,a,:=,a-b,end],
+ algol(_F, _Program, []),
+ apply([a=3,b=5], Output, _F).
+ Output = [a=5,b=3,printout=[]].
- % a := 0
- % while a < 10 do
- % begin
- % print(a)
- % a := a+1
- % end
- ?- _Program = [begin,a,:=,0,while,a,<,10,do,begin,print(a),a,:=,a+1,end,end],
- algol(_F, _Program, []),
- apply([a=3], Output, _F).
- Output = [a=10,printout=[0,1,2,3,4,5,6,7,8,9]].
+% a := 0
+% while a < 10 do
+% begin
+% print(a)
+% a := a+1
+% end
+?- _Program = [begin,a,:=,0,while,a,<,10,do,begin,print(a),a,:=,a+1,end,end],
+ algol(_F, _Program, []),
+ apply([a=3], Output, _F).
+ Output = [a=10,printout=[0,1,2,3,4,5,6,7,8,9]].
</pre>
'''
diff --git a/prolog/problems/denotational_semantics/algol_for_3/en.py b/prolog/problems/denotational_semantics/algol_for_3/en.py
index d4b8144..91ff34d 100644
--- a/prolog/problems/denotational_semantics/algol_for_3/en.py
+++ b/prolog/problems/denotational_semantics/algol_for_3/en.py
@@ -6,14 +6,14 @@ slug = 'interpreter for mini-algol with for-statement'
description = '''\
<p>Extend the given DCG for mini-algol to support the for-statement. Example:</p>
<pre>
- % for a := 0 & a < 5 & a := a + 1 do
- % begin
- % print(a)
- % end
- ?- _Program = [begin,for,a,:=,0,&,a,<,5,&,a,:=,a+1,do,begin,print(a),end,end],
- algol_for(_F, _Program, []),
- apply([a=2], Output, _F).
- Output = [a=5,printout=[0,1,2,3,4]].
+% for a := 0 & a < 5 & a := a + 1 do
+% begin
+% print(a)
+% end
+?- _Program = [begin,for,a,:=,0,&,a,<,5,&,a,:=,a+1,do,begin,print(a),end,end],
+ algol_for(_F, _Program, []),
+ apply([a=2], Output, _F).
+ Output = [a=5,printout=[0,1,2,3,4]].
</pre>
'''
diff --git a/prolog/problems/denotational_semantics/algol_if_3/en.py b/prolog/problems/denotational_semantics/algol_if_3/en.py
index fae6c45..66855e5 100644
--- a/prolog/problems/denotational_semantics/algol_if_3/en.py
+++ b/prolog/problems/denotational_semantics/algol_if_3/en.py
@@ -6,15 +6,15 @@ slug = 'interpreter for mini-algol with if-statement'
description = '''\
<p>Extend the given DCG for mini-algol to support the if-statement. You can assume that both branches are present in every if-statement. Example:</p>
<pre>
- % if a < b then
- % print(a)
- % else
- % print(b)
- % end
- ?- _Program = [begin,if,a,<,b,then,print(a),else,print(b),end,end],
- algol_if(_F, _Program, []),
- apply([a=3,b=5], Output, _F).
- Output = [a=3,b=5,printout=[3]].
+% if a < b then
+% print(a)
+% else
+% print(b)
+% end
+?- _Program = [begin,if,a,<,b,then,print(a),else,print(b),end,end],
+ algol_if(_F, _Program, []),
+ apply([a=3,b=5], Output, _F).
+ Output = [a=3,b=5,printout=[3]].
</pre>
'''
diff --git a/prolog/problems/denotational_semantics/prog_8puzzle_3/en.py b/prolog/problems/denotational_semantics/prog_8puzzle_3/en.py
index 1c23b18..6a31496 100644
--- a/prolog/problems/denotational_semantics/prog_8puzzle_3/en.py
+++ b/prolog/problems/denotational_semantics/prog_8puzzle_3/en.py
@@ -9,8 +9,8 @@ description = '''\
<p>The meaning of a word (program) in this language has the form <code>In-->Out</code>, mapping from input to output states. Each state is a (permuted) list of numbers from 0 to 8, where 0 stands for the empty square and other numbers for the corresponding tiles. The first three numbers in the list correspond to the top row of the 8-puzzle, the next three numbers to the middle row, and the last three numbers to the last row. The meaning of instructions <code>left</code>, <code>right</code>, <code>up</code> and <code>down</code> is to move the blank tile in the given direction.</p>
<pre>
- ?- prog_8puzzle([0,1,2,3,4,5,6,7,8]-->Out, [begin,down,right,end], []).
- Out = [3,1,2,4,0,5,6,7,8].
+?- prog_8puzzle([0,1,2,3,4,5,6,7,8]-->Out, [begin,down,right,end], []).
+ Out = [3,1,2,4,0,5,6,7,8].
</pre>
<p>Helper predicates (already defined):<br />
diff --git a/prolog/problems/denotational_semantics/prog_listswap_3/en.py b/prolog/problems/denotational_semantics/prog_listswap_3/en.py
index 5e85ce6..ad9dcf8 100644
--- a/prolog/problems/denotational_semantics/prog_listswap_3/en.py
+++ b/prolog/problems/denotational_semantics/prog_listswap_3/en.py
@@ -9,8 +9,8 @@ description = '''\
<p>The meaning of a word (program) in this language has the form <code>In-->Out</code>, mapping from input to output lists. Besides the list contents, internal states also hold the current cursor position. The <code>left</code> and <code>right</code> instructions move the cursor one step in the given direction, while the <code>swap</code> instruction swaps the element under the cursor with its left neighbor (and fails if cursor is currently pointing to the first element of the list).</p>
<pre>
- ?- prog_listswap([1,2,3,4]-->Out, [begin,right,swap,end], []).
- Out = [2,1,3,4].
+?- prog_listswap([1,2,3,4]-->Out, [begin,right,swap,end], []).
+ Out = [2,1,3,4].
</pre>
<p>Helper predicate (already defined):<br />
diff --git a/prolog/problems/family_relations/ancestor_2/en.py b/prolog/problems/family_relations/ancestor_2/en.py
index 29fb253..588de83 100644
--- a/prolog/problems/family_relations/ancestor_2/en.py
+++ b/prolog/problems/family_relations/ancestor_2/en.py
@@ -6,10 +6,10 @@ slug = 'the ancestor relation'
description = '''\
<p><code>ancestor(X, Y)</code>: <code>X</code> is an ancestor (parent, grandparent,...) of <code>Y</code>.</p>
<pre>
- ?- ancestor(patricia, X).
- X = john ;
- X = michael ;
- X = michelle.
+?- ancestor(patricia, X).
+ X = john ;
+ X = michael ;
+ X = michelle.
</pre>'''
hint = {}
diff --git a/prolog/problems/family_relations/ancestor_2/sl.py b/prolog/problems/family_relations/ancestor_2/sl.py
index b0fae7c..9e5c9bf 100644
--- a/prolog/problems/family_relations/ancestor_2/sl.py
+++ b/prolog/problems/family_relations/ancestor_2/sl.py
@@ -6,10 +6,10 @@ slug = 'X je prednik od Y'
description = '''\
<p><code>ancestor(X, Y)</code>: <code>X</code> je prednik (oče, mama, dedek, ...) od <code>Y</code>.</p>
<pre>
- ?- ancestor(patricia, X).
- X = john ;
- X = michael ;
- X = michelle.
+?- ancestor(patricia, X).
+ X = john ;
+ X = michael ;
+ X = michelle.
</pre>'''
plan = ['''\
diff --git a/prolog/problems/family_relations/aunt_2/en.py b/prolog/problems/family_relations/aunt_2/en.py
index 25cac41..7e508bc 100644
--- a/prolog/problems/family_relations/aunt_2/en.py
+++ b/prolog/problems/family_relations/aunt_2/en.py
@@ -6,9 +6,9 @@ slug = 'the aunt relation'
description = '''\
<p><code>aunt(X, Y)</code>: <code>X</code> is an aunt of <code>Y</code>.</p>
<pre>
- ?- aunt(sally, X).
- X = vanessa ;
- X = patricia.
+?- aunt(sally, X).
+ X = vanessa ;
+ X = patricia.
</pre>'''
hint = {}
diff --git a/prolog/problems/family_relations/aunt_2/sl.py b/prolog/problems/family_relations/aunt_2/sl.py
index e5c3bb9..eb1b673 100644
--- a/prolog/problems/family_relations/aunt_2/sl.py
+++ b/prolog/problems/family_relations/aunt_2/sl.py
@@ -6,9 +6,9 @@ slug = 'X je teta od Y'
description = '''\
<p><code>aunt(X, Y)</code>: <code>X</code> je teta od <code>Y</code>.</p>
<pre>
- ?- aunt(sally, X).
- X = vanessa ;
- X = patricia.
+?- aunt(sally, X).
+ X = vanessa ;
+ X = patricia.
</pre>'''
plan = ['''\
diff --git a/prolog/problems/family_relations/brother_2/en.py b/prolog/problems/family_relations/brother_2/en.py
index 2daf78f..a461ba8 100644
--- a/prolog/problems/family_relations/brother_2/en.py
+++ b/prolog/problems/family_relations/brother_2/en.py
@@ -6,9 +6,9 @@ slug = 'the brother relation'
description = '''\
<p><code>brother(X, Y)</code>: <code>X</code> is a brother of <code>Y</code>.</p>
<pre>
- ?- brother(jeffrey, X).
- X = william ;
- X = sally.
+?- brother(jeffrey, X).
+ X = william ;
+ X = sally.
</pre>'''
hint = {}
diff --git a/prolog/problems/family_relations/brother_2/sl.py b/prolog/problems/family_relations/brother_2/sl.py
index 29703a1..29ec289 100644
--- a/prolog/problems/family_relations/brother_2/sl.py
+++ b/prolog/problems/family_relations/brother_2/sl.py
@@ -6,9 +6,9 @@ slug = 'X je brat od Y'
description = '''\
<p><code>brother(X, Y)</code>: <code>X</code> je brat od <code>Y</code>.</p>
<pre>
- ?- brother(jeffrey, X).
- X = william ;
- X = sally.
+?- brother(jeffrey, X).
+ X = william ;
+ X = sally.
</pre>'''
plan = [
diff --git a/prolog/problems/family_relations/connected_3/en.py b/prolog/problems/family_relations/connected_3/en.py
index f50d60e..932d4cf 100644
--- a/prolog/problems/family_relations/connected_3/en.py
+++ b/prolog/problems/family_relations/connected_3/en.py
@@ -6,10 +6,10 @@ slug = 'check if two people are connected in the family tree'
description = '''\
<p><code>connected(X, Y, N)</code>: <code>X</code> and <code>Y</code> are connected with a series of (no more than <code>N</code>) parent/child relations.</p>
<pre>
- ?- connected(ana, morty, 10).
- false.
- ?- connected(ana, margaret, 10).
- true.
+?- connected(ana, morty, 10).
+ false.
+?- connected(ana, margaret, 10).
+ true.
</pre>'''
hint = {}
diff --git a/prolog/problems/family_relations/cousin_2/en.py b/prolog/problems/family_relations/cousin_2/en.py
index cf628db..93e3aee 100644
--- a/prolog/problems/family_relations/cousin_2/en.py
+++ b/prolog/problems/family_relations/cousin_2/en.py
@@ -6,9 +6,9 @@ slug = 'the cousin relation'
description = '''\
<p><code>cousin(X, Y)</code>: <code>X</code> is a cousin (male or female) of <code>Y</code>.</p>
<pre>
- ?- cousin(andrew, X).
- X = vanessa ;
- X = patricia.
+?- cousin(andrew, X).
+ X = vanessa ;
+ X = patricia.
</pre>'''
hint = {}
diff --git a/prolog/problems/family_relations/cousin_2/sl.py b/prolog/problems/family_relations/cousin_2/sl.py
index 7bd819a..5e18f4a 100644
--- a/prolog/problems/family_relations/cousin_2/sl.py
+++ b/prolog/problems/family_relations/cousin_2/sl.py
@@ -6,9 +6,9 @@ slug = 'X je bratranec ali sestrična od Y'
description = '''\
<p><code>cousin(X, Y)</code>: <code>X</code> je bratranec ali sestrična od <code>Y</code>.</p>
<pre>
- ?- cousin(andrew, X).
- X = vanessa ;
- X = patricia.
+?- cousin(andrew, X).
+ X = vanessa ;
+ X = patricia.
</pre>'''
plan = ['''\
diff --git a/prolog/problems/family_relations/descendant_2/en.py b/prolog/problems/family_relations/descendant_2/en.py
index 74360f3..2bd30af 100644
--- a/prolog/problems/family_relations/descendant_2/en.py
+++ b/prolog/problems/family_relations/descendant_2/en.py
@@ -6,10 +6,10 @@ slug = 'the descendant relation'
description = '''\
<p><code>descendant(X, Y)</code>: <code>X</code> is a descendant (child, grandchild,...) of <code>Y</code>.</p>
<pre>
- ?- descendant(patricia, X).
- X = william ;
- X = tina ;
- X = thomas.
+?- descendant(patricia, X).
+ X = william ;
+ X = tina ;
+ X = thomas.
</pre>'''
hint = {}
diff --git a/prolog/problems/family_relations/descendant_2/sl.py b/prolog/problems/family_relations/descendant_2/sl.py
index 5f4a3ca..993b4bb 100644
--- a/prolog/problems/family_relations/descendant_2/sl.py
+++ b/prolog/problems/family_relations/descendant_2/sl.py
@@ -6,10 +6,10 @@ slug = 'the descendant relation'
description = '''\
<p><code>descendant(X, Y)</code>: <code>X</code> is a descendant (child, grandchild,...) of <code>Y</code>.</p>
<pre>
- ?- descendant(patricia, X).
- X = william ;
- X = tina ;
- X = thomas.
+?- descendant(patricia, X).
+ X = william ;
+ X = tina ;
+ X = thomas.
</pre>'''
plan = ['''\
diff --git a/prolog/problems/family_relations/father_2/en.py b/prolog/problems/family_relations/father_2/en.py
index bde9a2d..31517c9 100644
--- a/prolog/problems/family_relations/father_2/en.py
+++ b/prolog/problems/family_relations/father_2/en.py
@@ -6,11 +6,11 @@ slug = 'the father-child relation'
description = '''\
<p><code>father(X, Y)</code>: <code>X</code> is the father of <code>Y</code>.</p>
<pre>
- ?- father(thomas, william).
- true.
- ?- father(aleksander, X).
- X = luana ;
- X = daniela.
+?- father(thomas, william).
+ true.
+?- father(aleksander, X).
+ X = luana ;
+ X = daniela.
</pre>'''
hint = {}
diff --git a/prolog/problems/family_relations/father_2/sl.py b/prolog/problems/family_relations/father_2/sl.py
index 7b37aba..fed61c7 100644
--- a/prolog/problems/family_relations/father_2/sl.py
+++ b/prolog/problems/family_relations/father_2/sl.py
@@ -6,11 +6,11 @@ slug = 'X je oče od Y'
description = '''\
<p><code>father(X, Y)</code>: <code>X</code> je oče od <code>Y</code>.</p>
<pre>
- ?- father(thomas, william).
- true.
- ?- father(aleksander, X).
- X = luana ;
- X = daniela.
+?- father(thomas, william).
+ true.
+?- father(aleksander, X).
+ X = luana ;
+ X = daniela.
</pre>'''
plan = [
diff --git a/prolog/problems/family_relations/grandparent_2/en.py b/prolog/problems/family_relations/grandparent_2/en.py
index c181ab5..11918a9 100644
--- a/prolog/problems/family_relations/grandparent_2/en.py
+++ b/prolog/problems/family_relations/grandparent_2/en.py
@@ -6,11 +6,11 @@ slug = 'the grandparent relation'
description = '''\
<p><code>grandparent(P, C)</code>: <code>P</code> is a grandparent of <code>C</code>.</p>
<pre>
- ?- grandparent(tina, X).
- X = vanessa ;
- X = patricia.
- ?- grandparent(tina, vanessa).
- true.
+?- grandparent(tina, X).
+ X = vanessa ;
+ X = patricia.
+?- grandparent(tina, vanessa).
+ true.
</pre>'''
hint = {}
diff --git a/prolog/problems/family_relations/grandparent_2/sl.py b/prolog/problems/family_relations/grandparent_2/sl.py
index 2246ae6..d74f4f4 100644
--- a/prolog/problems/family_relations/grandparent_2/sl.py
+++ b/prolog/problems/family_relations/grandparent_2/sl.py
@@ -6,11 +6,11 @@ slug = 'X je dedek ali babica od Y'
description = '''\
<p><code>grandparent(X, Y)</code>: <code>X</code> je dedek ali babica od <code>Y</code>.</p>
<pre>
- ?- grandparent(tina, X).
- X = vanessa ;
- X = patricia.
- ?- grandparent(tina, vanessa).
- true.
+?- grandparent(tina, X).
+ X = vanessa ;
+ X = patricia.
+?- grandparent(tina, vanessa).
+ true.
</pre>'''
plan = ['''\
diff --git a/prolog/problems/family_relations/mother_2/en.py b/prolog/problems/family_relations/mother_2/en.py
index 722c016..531c3d7 100644
--- a/prolog/problems/family_relations/mother_2/en.py
+++ b/prolog/problems/family_relations/mother_2/en.py
@@ -6,11 +6,11 @@ slug = 'the mother-child relation'
description = '''\
<p><code>mother(M, C)</code>: <code>M</code> is the mother of <code>C</code>.</p>
<pre>
- ?- mother(tina, william).
- true.
- ?- mother(nevia, X).
- X = luana ;
- X = daniela.
+?- mother(tina, william).
+ true.
+?- mother(nevia, X).
+ X = luana ;
+ X = daniela.
</pre>'''
hint = {}
diff --git a/prolog/problems/family_relations/mother_2/sl.py b/prolog/problems/family_relations/mother_2/sl.py
index b37c20c..5869033 100644
--- a/prolog/problems/family_relations/mother_2/sl.py
+++ b/prolog/problems/family_relations/mother_2/sl.py
@@ -6,11 +6,11 @@ slug = 'X je mama od Y'
description = '''\
<p><code>mother(X, Y)</code>: <code>X</code> je mama od <code>Y</code>.</p>
<pre>
- ?- mother(tina, william).
- true.
- ?- mother(nevia, X).
- X = luana ;
- X = daniela.
+?- mother(tina, william).
+ true.
+?- mother(nevia, X).
+ X = luana ;
+ X = daniela.
</pre>'''
plan = [
diff --git a/prolog/problems/family_relations/sister_2/en.py b/prolog/problems/family_relations/sister_2/en.py
index 32bb9d9..a7e2035 100644
--- a/prolog/problems/family_relations/sister_2/en.py
+++ b/prolog/problems/family_relations/sister_2/en.py
@@ -6,8 +6,8 @@ slug = 'the sister relation'
description = '''\
<p><code>sister(X, Y)</code>: <code>X</code> is a sister of <code>Y</code>.</p>
<pre>
- ?- sister(vanessa, X).
- X = patricia.
+?- sister(vanessa, X).
+ X = patricia.
</pre>'''
hint = {
diff --git a/prolog/problems/family_relations/sister_2/sl.py b/prolog/problems/family_relations/sister_2/sl.py
index cb51592..5ca9928 100644
--- a/prolog/problems/family_relations/sister_2/sl.py
+++ b/prolog/problems/family_relations/sister_2/sl.py
@@ -6,8 +6,8 @@ slug = 'X je sestra od Y'
description = '''\
<p><code>sister(X, Y)</code>: <code>X</code> je sestra od <code>Y</code>.</p>
<pre>
- ?- sister(vanessa, X).
- X = patricia.
+?- sister(vanessa, X).
+ X = patricia.
</pre>'''
plan = [
diff --git a/prolog/problems/license_plates/checklicenseplate_3/en.py b/prolog/problems/license_plates/checklicenseplate_3/en.py
index 76270cd..927c261 100644
--- a/prolog/problems/license_plates/checklicenseplate_3/en.py
+++ b/prolog/problems/license_plates/checklicenseplate_3/en.py
@@ -6,13 +6,13 @@ slug = 'check if the numbers in a license plate form an equation'
description = '''\
<p><code>checkLicensePlate(LP, E1, E2)</code>: the digits in the list <code>LP</code> can be combined into a valid equation <code>E1</code> = <code>E2</code>. <code>E1</code> and <code>E2</code> are arithmetic expressions, obtained from sublists of <code>Plate</code> by inserting arithmetic operators (<code>+</code>, <code>-</code>, <code>*</code> and <code>/</code>) between elements. An additional unary minus can be inserted before the leftmost number of <code>E1</code> and <code>E2</code>.</p>
<pre>
- ?- checkLicensePlate([l,j,l,3,-,2,1,7], E1, E2).
- E1 = 3, E2 = 21/7 ;
- E1 = -3, E2 = -21/7 ;
- E1 = 3*2, E2 = -1+7 ;
- E1 = -3*2, E2 = 1-7 ;
- E1 = 3*2+1, E2 = 7 ;
- E1 = -3*2-1, E2 = -7.
+?- checkLicensePlate([l,j,l,3,-,2,1,7], E1, E2).
+ E1 = 3, E2 = 21/7 ;
+ E1 = -3, E2 = -21/7 ;
+ E1 = 3*2, E2 = -1+7 ;
+ E1 = -3*2, E2 = 1-7 ;
+ E1 = 3*2+1, E2 = 7 ;
+ E1 = -3*2-1, E2 = -7.
</pre>'''
hint = {}
diff --git a/prolog/problems/license_plates/checklicenseplate_3/sl.py b/prolog/problems/license_plates/checklicenseplate_3/sl.py
index 2e3ec65..92578d4 100644
--- a/prolog/problems/license_plates/checklicenseplate_3/sl.py
+++ b/prolog/problems/license_plates/checklicenseplate_3/sl.py
@@ -6,13 +6,13 @@ slug = 'Preveri, če lahko iz številk v registrski tablici sestaviš veljavno e
description = '''\
<p><code>checkLicensePlate(LP, E1, E2)</code>: iz cifer v seznamu <code>LP</code> se da sestaviti veljavno enačbo <code>E1</code> = <code>E2</code>. <code>E1</code> in <code>E2</code> sta aritmetična izraza, sestavljena iz podseznamov <code>Plate</code> z uporabo aritmetičnih operatorjev (<code>+</code>, <code>-</code>, <code>*</code> and <code>/</code>). Dodaten unarni minus se lahko vstavi na začetek izrazov <code>E1</code> in <code>E2</code>.</p>
<pre>
- ?- checkLicensePlate([l,j,l,3,-,2,1,7], E1, E2).
- E1 = 3, E2 = 21/7 ;
- E1 = -3, E2 = -21/7 ;
- E1 = 3*2, E2 = -1+7 ;
- E1 = -3*2, E2 = 1-7 ;
- E1 = 3*2+1, E2 = 7 ;
- E1 = -3*2-1, E2 = -7.
+?- checkLicensePlate([l,j,l,3,-,2,1,7], E1, E2).
+ E1 = 3, E2 = 21/7 ;
+ E1 = -3, E2 = -21/7 ;
+ E1 = 3*2, E2 = -1+7 ;
+ E1 = -3*2, E2 = 1-7 ;
+ E1 = 3*2+1, E2 = 7 ;
+ E1 = -3*2-1, E2 = -7.
</pre>'''
hint = {}
diff --git a/prolog/problems/license_plates/firstminus_2/en.py b/prolog/problems/license_plates/firstminus_2/en.py
index cea521a..f939c91 100644
--- a/prolog/problems/license_plates/firstminus_2/en.py
+++ b/prolog/problems/license_plates/firstminus_2/en.py
@@ -6,9 +6,9 @@ slug = 'negate the first element in a list of numbers'
description = '''\
<p><code>firstMinus(L1, L2)</code>: the list <code>L2</code> is the same as <code>L1</code>, except for the first element that may be negated. Your code should return both solutions.</p>
<pre>
- ?- firstMinus([1,2,3], L).
- L = [1,2,3] ;
- L = [-1,2,3].
+?- firstMinus([1,2,3], L).
+ L = [1,2,3] ;
+ L = [-1,2,3].
</pre>'''
hint = {}
diff --git a/prolog/problems/license_plates/firstminus_2/sl.py b/prolog/problems/license_plates/firstminus_2/sl.py
index d480994..6186302 100644
--- a/prolog/problems/license_plates/firstminus_2/sl.py
+++ b/prolog/problems/license_plates/firstminus_2/sl.py
@@ -6,9 +6,9 @@ slug = 'Negiraj prvi element v danem seznamu števil'
description = '''\
<p><code>firstMinus(L1, L2)</code>: seznam <code>L2</code> je enak kot <code>L1</code>, razen prvega elementa, ki je lahko negiran ali pa ne. Predikat naj vrne obe rešitvi, eno za drugo.</p>
<pre>
- ?- firstMinus([1,2,3], L).
- L = [1,2,3] ;
- L = [-1,2,3].
+?- firstMinus([1,2,3], L).
+ L = [1,2,3] ;
+ L = [-1,2,3].
</pre>'''
hint = {}
diff --git a/prolog/problems/license_plates/genexp_2/en.py b/prolog/problems/license_plates/genexp_2/en.py
index 2238f4d..9b25f12 100644
--- a/prolog/problems/license_plates/genexp_2/en.py
+++ b/prolog/problems/license_plates/genexp_2/en.py
@@ -6,14 +6,14 @@ slug = 'generate an arithmetic expression from a list'
description = '''\
<p><code>genexp(L, E)</code>: the expression <code>E</code> is obtained from the list <code>L</code> by inserting arithmetic operators between list elements. Your code should generate all valid solutions.</p>
<pre>
- ?- genexp([1,2,3], L).
- L = 1+2+3 ;
- L = 1+2-3 ;
- L = (1+2)*3 ;
- L = (1+2)/3 ;
- L = 1-2+3 ;
- L = 1-2-3 ;
- ...
+?- genexp([1,2,3], L).
+ L = 1+2+3 ;
+ L = 1+2-3 ;
+ L = (1+2)*3 ;
+ L = (1+2)/3 ;
+ L = 1-2+3 ;
+ L = 1-2-3 ;
+ …
</pre>'''
hint = {}
diff --git a/prolog/problems/license_plates/genexp_2/sl.py b/prolog/problems/license_plates/genexp_2/sl.py
index 9160f27..b205a7c 100644
--- a/prolog/problems/license_plates/genexp_2/sl.py
+++ b/prolog/problems/license_plates/genexp_2/sl.py
@@ -6,14 +6,14 @@ slug = 'Sestavi aritmetični izraz iz številk v podanem seznamu'
description = '''\
<p><code>genexp(L, E)</code>: Izraz <code>E</code> je zgrajen iz številk v seznamu <code>L</code> z dodajanjem aritmetičnih operatorjev. Predikat naj vrača vse možne izraze, enega po enega.</p>
<pre>
- ?- genexp([1,2,3], L).
- L = 1+2+3 ;
- L = 1+2-3 ;
- L = (1+2)*3 ;
- L = (1+2)/3 ;
- L = 1-2+3 ;
- L = 1-2-3 ;
- ...
+?- genexp([1,2,3], L).
+ L = 1+2+3 ;
+ L = 1+2-3 ;
+ L = (1+2)*3 ;
+ L = (1+2)/3 ;
+ L = 1-2+3 ;
+ L = 1-2-3 ;
+ …
</pre>'''
hint = {}
diff --git a/prolog/problems/license_plates/getdigits_2/en.py b/prolog/problems/license_plates/getdigits_2/en.py
index afc41d4..cfa66a0 100644
--- a/prolog/problems/license_plates/getdigits_2/en.py
+++ b/prolog/problems/license_plates/getdigits_2/en.py
@@ -6,8 +6,8 @@ slug = 'remove non-numeric elements from a list'
description = '''\
<p><code>getdigits(L, DL)</code>: the list <code>DL</code> contains the numeric elements of <code>L</code>, in the same order as in the original list.</p>
<pre>
- ?- getdigits([2,3,e,-,4,b], DL).
- DL = [2,3,4].
+?- getdigits([2,3,e,-,4,b], DL).
+ DL = [2,3,4].
</pre>'''
hint = {}
diff --git a/prolog/problems/license_plates/getdigits_2/sl.py b/prolog/problems/license_plates/getdigits_2/sl.py
index 3f59e90..a67f164 100644
--- a/prolog/problems/license_plates/getdigits_2/sl.py
+++ b/prolog/problems/license_plates/getdigits_2/sl.py
@@ -6,8 +6,8 @@ slug = 'Vrni vse številke iz podanega seznama'
description = '''\
<p><code>getdigits(L, DL)</code>: seznam <code>DL</code> vsebuje vse številke iz seznama <code>L</code>, vrstni red elementov se ohrani.</p>
<pre>
- ?- getdigits([2,3,e,-,4,b], DL).
- DL = [2,3,4].
+?- getdigits([2,3,e,-,4,b], DL).
+ DL = [2,3,4].
</pre>'''
hint = {}
diff --git a/prolog/problems/license_plates/joindigits_2/en.py b/prolog/problems/license_plates/joindigits_2/en.py
index c51f452..9dd7c00 100644
--- a/prolog/problems/license_plates/joindigits_2/en.py
+++ b/prolog/problems/license_plates/joindigits_2/en.py
@@ -6,11 +6,11 @@ slug = 'join adjacent numbers in a list'
description = '''\
<p><code>joindigits(L, NL)</code>: the list <code>NL</code> is obtained from <code>L</code> by arbitrarily joining neighboring digits. Your code should generate all valid solutions.</p>
<pre>
- ?- joindigits([3,2,4], NL).
- NL = [324] ;
- NL = [32,4] ;
- NL = [3,24] ;
- NL = [3,2,4].
+?- joindigits([3,2,4], NL).
+ NL = [324] ;
+ NL = [32,4] ;
+ NL = [3,24] ;
+ NL = [3,2,4].
</pre>'''
hint = {}
diff --git a/prolog/problems/license_plates/joindigits_2/sl.py b/prolog/problems/license_plates/joindigits_2/sl.py
index 344d849..e8c0cb7 100644
--- a/prolog/problems/license_plates/joindigits_2/sl.py
+++ b/prolog/problems/license_plates/joindigits_2/sl.py
@@ -6,11 +6,11 @@ slug = 'Združi sosednja števila v seznamu na vse možne načine'
description = '''\
<p><code>joindigits(L, NL)</code>: seznam <code>NL</code> dobimo iz seznama <code>L</code> tako, da poljubno združujemo sosednja števila. Predikat naj vrača vse možnosti, eno po eno.</p>
<pre>
- ?- joindigits([3,2,4], NL).
- NL = [324] ;
- NL = [32,4] ;
- NL = [3,24] ;
- NL = [3,2,4].
+?- joindigits([3,2,4], NL).
+ NL = [324] ;
+ NL = [32,4] ;
+ NL = [3,24] ;
+ NL = [3,2,4].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/conc_3/en.py b/prolog/problems/lists/conc_3/en.py
index 7399f7e..ba1a571 100644
--- a/prolog/problems/lists/conc_3/en.py
+++ b/prolog/problems/lists/conc_3/en.py
@@ -6,10 +6,10 @@ slug = 'concatenate two lists'
description = '''\
<p><code>conc(L1, L2, L)</code>: the list <code>L</code> is obtained by appending the elements of <code>L2</code> to <code>L1</code>.</p>
<pre>
- ?- conc([1,2], [3,4], X).
- X = [1,2,3,4].
- ?- conc(X, [], [1,2,3]).
- X = [1,2,3].
+?- conc([1,2], [3,4], X).
+ X = [1,2,3,4].
+?- conc(X, [], [1,2,3]).
+ X = [1,2,3].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/conc_3/sl.py b/prolog/problems/lists/conc_3/sl.py
index 15e3163..211f65c 100644
--- a/prolog/problems/lists/conc_3/sl.py
+++ b/prolog/problems/lists/conc_3/sl.py
@@ -6,10 +6,10 @@ slug = 'Združi dva seznama (konkatenacija)'
description = '''\
<p><code>conc(L1, L2, L)</code>: seznam <code>L</code> dobiš tako, da seznamu <code>L1</code> na konec dodaš elemente seznama <code>L2</code>.</p>
<pre>
- ?- conc([1,2], [3,4], X).
- X = [1,2,3,4].
- ?- conc(X, [], [1,2,3]).
- X = [1,2,3].
+?- conc([1,2], [3,4], X).
+ X = [1,2,3,4].
+?- conc(X, [], [1,2,3]).
+ X = [1,2,3].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/count_3/en.py b/prolog/problems/lists/count_3/en.py
index c676dea..dd13bc0 100644
--- a/prolog/problems/lists/count_3/en.py
+++ b/prolog/problems/lists/count_3/en.py
@@ -6,8 +6,8 @@ slug = 'find the number of occurrences of an element in list'
description = '''\
<p><code>count(X, L, N)</code>: <code>N</code> is the number of times the element <code>X</code> appears in the list <code>L</code>.</p>
<pre>
- ?- count(1, [1,2,1,3,1], N).
- N = 3.
+?- count(1, [1,2,1,3,1], N).
+ N = 3.
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/count_3/sl.py b/prolog/problems/lists/count_3/sl.py
index 15a4650..98cd6f8 100644
--- a/prolog/problems/lists/count_3/sl.py
+++ b/prolog/problems/lists/count_3/sl.py
@@ -6,8 +6,8 @@ slug = 'Preštej kolikokrat se element pojavi v seznamu'
description = '''\
<p><code>count(X, L, N)</code>: <code>N</code> je število kolikokrat se element <code>X</code> pojavi v seznamu <code>L</code>.</p>
<pre>
- ?- count(1, [1,2,1,3,1], N).
- N = 3.
+?- count(1, [1,2,1,3,1], N).
+ N = 3.
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/del_3/en.py b/prolog/problems/lists/del_3/en.py
index d7e38e8..42ca19f 100644
--- a/prolog/problems/lists/del_3/en.py
+++ b/prolog/problems/lists/del_3/en.py
@@ -6,15 +6,15 @@ slug = 'delete an element from list'
description = '''\
<p><code>del(X, L1, L2)</code>: the list <code>L2</code> is obtained from <code>L1</code> by deleting element <code>X</code>.</p>
<pre>
- ?- del(1, [1,2,3], L).
- L = [2,3].
- ?- del(2, [1,2,3,2,5], L).
- L = [1,3,2,5] ;
- L = [1,2,3,5].
- ?- del(X, [1,2,3], L).
- X = 1, L = [2,3] ;
- X = 2, L = [1,3] ;
- X = 3, L = [1,2].
+?- del(1, [1,2,3], L).
+ L = [2,3].
+?- del(2, [1,2,3,2,5], L).
+ L = [1,3,2,5] ;
+ L = [1,2,3,5].
+?- del(X, [1,2,3], L).
+ X = 1, L = [2,3] ;
+ X = 2, L = [1,3] ;
+ X = 3, L = [1,2].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/del_3/sl.py b/prolog/problems/lists/del_3/sl.py
index 49ab16f..3c45408 100644
--- a/prolog/problems/lists/del_3/sl.py
+++ b/prolog/problems/lists/del_3/sl.py
@@ -6,15 +6,15 @@ slug = 'Zbriši element iz seznama'
description = '''\
<p><code>del(X, L1, L2)</code>: seznam <code>L2</code> dobimo iz seznama <code>L1</code> tako da zbrišemo element <code>X</code>.</p>
<pre>
- ?- del(1, [1,2,3], L).
- L = [2,3].
- ?- del(2, [1,2,3,2,5], L).
- L = [1,3,2,5] ;
- L = [1,2,3,5].
- ?- del(X, [1,2,3], L).
- X = 1, L = [2,3] ;
- X = 2, L = [1,3] ;
- X = 3, L = [1,2].
+?- del(1, [1,2,3], L).
+ L = [2,3].
+?- del(2, [1,2,3,2,5], L).
+ L = [1,3,2,5] ;
+ L = [1,2,3,5].
+?- del(X, [1,2,3], L).
+ X = 1, L = [2,3] ;
+ X = 2, L = [1,3] ;
+ X = 3, L = [1,2].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/divide_3/en.py b/prolog/problems/lists/divide_3/en.py
index fded262..a22c8ac 100644
--- a/prolog/problems/lists/divide_3/en.py
+++ b/prolog/problems/lists/divide_3/en.py
@@ -6,10 +6,10 @@ slug = 'split a list into parts of roughly equal length'
description = '''\
<p><code>divide(L, L1, L2)</code>: the list <code>L1</code> contains elements at odd positions in <code>L</code>, and the list <code>L2</code> contains the elements at even positions in <code>L</code>.</p>
<pre>
- ?- divide([a,b,c,d,e,f,g], X, Y).
- X = [a,c,e,g], Y = [b,d,f].
- ?- divide([a,b,c,d,e,f], X, Y).
- X = [a,c,e], Y = [b,d,f].
+?- divide([a,b,c,d,e,f,g], X, Y).
+ X = [a,c,e,g], Y = [b,d,f].
+?- divide([a,b,c,d,e,f], X, Y).
+ X = [a,c,e], Y = [b,d,f].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/divide_3/sl.py b/prolog/problems/lists/divide_3/sl.py
index ecf9a5a..308781e 100644
--- a/prolog/problems/lists/divide_3/sl.py
+++ b/prolog/problems/lists/divide_3/sl.py
@@ -6,10 +6,10 @@ slug = 'Razdeli dani seznam na dva podseznama (približno) enake velikosti'
description = '''\
<p><code>divide(L, L1, L2)</code>: seznam <code>L1</code> vsebuje elemente na lihih pozicijah v seznamu <code>L</code>, seznam <code>L2</code> pa elemente na sodih pozicijah v <code>L</code>.</p>
<pre>
- ?- divide([a,b,c,d,e,f,g], X, Y).
- X = [a,c,e,g], Y = [b,d,f].
- ?- divide([a,b,c,d,e,f], X, Y).
- X = [a,c,e], Y = [b,d,f].
+?- divide([a,b,c,d,e,f,g], X, Y).
+ X = [a,c,e,g], Y = [b,d,f].
+?- divide([a,b,c,d,e,f], X, Y).
+ X = [a,c,e], Y = [b,d,f].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/dup_2/en.py b/prolog/problems/lists/dup_2/en.py
index c1d0c1a..b3f3f52 100644
--- a/prolog/problems/lists/dup_2/en.py
+++ b/prolog/problems/lists/dup_2/en.py
@@ -6,10 +6,10 @@ slug = 'duplicate the elements of a list'
description = '''\
<p><code>dup(L1, L2)</code>: the list <code>L2</code> is obtained from <code>L1</code> by duplicating every element.</p>
<pre>
- ?- dup([1,2], X).
- X = [1,1,2,2].
- ?- dup([1,2,3], X).
- X = [1,1,2,2,3,3].
+?- dup([1,2], X).
+ X = [1,1,2,2].
+?- dup([1,2,3], X).
+ X = [1,1,2,2,3,3].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/dup_2/sl.py b/prolog/problems/lists/dup_2/sl.py
index fc974d8..7d8532d 100644
--- a/prolog/problems/lists/dup_2/sl.py
+++ b/prolog/problems/lists/dup_2/sl.py
@@ -6,10 +6,10 @@ slug = 'Podvoji vse elemente v seznamu'
description = '''\
<p><code>dup(L1, L2)</code>: seznam <code>L2</code> dobimo iz <code>L1</code> tako, da podvojimo vsak element.</p>
<pre>
- ?- dup([1,2], X).
- X = [1,1,2,2].
- ?- dup([1,2,3], X).
- X = [1,1,2,2,3,3].
+?- dup([1,2], X).
+ X = [1,1,2,2].
+?- dup([1,2,3], X).
+ X = [1,1,2,2,3,3].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/evenlen_1_+_oddlen_1/en.py b/prolog/problems/lists/evenlen_1_+_oddlen_1/en.py
index 1ac7990..a01a41b 100644
--- a/prolog/problems/lists/evenlen_1_+_oddlen_1/en.py
+++ b/prolog/problems/lists/evenlen_1_+_oddlen_1/en.py
@@ -7,12 +7,12 @@ description = '''\
<p><code>evenlen(L)</code>: the list <code>L</code> has an even number of elements.<br />
<code>oddlen(L)</code>: the list <code>L</code> has an odd number of elements.</p>
<pre>
- ?- oddlen([1,2,3,4,5]).
- true.
- ?- oddlen([1,2,3,4]).
- false.
- ?- evenlen([1,2,3,4]).
- true.
+?- oddlen([1,2,3,4,5]).
+ true.
+?- oddlen([1,2,3,4]).
+ false.
+?- evenlen([1,2,3,4]).
+ true.
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/evenlen_1_+_oddlen_1/sl.py b/prolog/problems/lists/evenlen_1_+_oddlen_1/sl.py
index 1959877..4ca44c2 100644
--- a/prolog/problems/lists/evenlen_1_+_oddlen_1/sl.py
+++ b/prolog/problems/lists/evenlen_1_+_oddlen_1/sl.py
@@ -7,12 +7,12 @@ description = '''\
<p><code>evenlen(L)</code>: seznam <code>L</code> ima sodo število elementov.<br />
<code>oddlen(L)</code>: seznam <code>L</code> ima liho število elementov.</p>
<pre>
- ?- oddlen([1,2,3,4,5]).
- true.
- ?- oddlen([1,2,3,4]).
- false.
- ?- evenlen([1,2,3,4]).
- true.
+?- oddlen([1,2,3,4,5]).
+ true.
+?- oddlen([1,2,3,4]).
+ false.
+?- evenlen([1,2,3,4]).
+ true.
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/insert_3/en.py b/prolog/problems/lists/insert_3/en.py
index 6a3da54..c4640ab 100644
--- a/prolog/problems/lists/insert_3/en.py
+++ b/prolog/problems/lists/insert_3/en.py
@@ -6,10 +6,10 @@ slug = 'insert an element into list'
description = '''\
<p><code>insert(X, L1, L2)</code>: the list <code>L2</code> is obtained from <code>L1</code> by inserting the element <code>X</code> at arbitrary position.</p>
<pre>
- ?- insert(1, [2,3], L).
- L = [1,2,3] ;
- L = [2,1,3] ;
- L = [2,3,1].
+?- insert(1, [2,3], L).
+ L = [1,2,3] ;
+ L = [2,1,3] ;
+ L = [2,3,1].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/insert_3/sl.py b/prolog/problems/lists/insert_3/sl.py
index 08ffced..7db15a6 100644
--- a/prolog/problems/lists/insert_3/sl.py
+++ b/prolog/problems/lists/insert_3/sl.py
@@ -6,10 +6,10 @@ slug = 'Vstavi element na poljubno mesto v seznamu'
description = '''\
<p><code>insert(X, L1, L2)</code>: seznam <code>L2</code> dobimo iz <code>L1</code> tako, da vstavimo element <code>X</code> na poljubno mesto. Predikat naj vrne vse možne rešitve, eno za drugo.</p>
<pre>
- ?- insert(1, [2,3], L).
- L = [1,2,3] ;
- L = [2,1,3] ;
- L = [2,3,1].
+?- insert(1, [2,3], L).
+ L = [1,2,3] ;
+ L = [2,1,3] ;
+ L = [2,3,1].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/len_2/en.py b/prolog/problems/lists/len_2/en.py
index 9de0060..3ca963e 100644
--- a/prolog/problems/lists/len_2/en.py
+++ b/prolog/problems/lists/len_2/en.py
@@ -6,8 +6,8 @@ slug = 'find the length of a list'
description = '''\
<p><code>len(L, Len)</code>: <code>Len</code> is the length of the list <code>L</code>.</p>
<pre>
- ?- len([1,2,3], Len).
- Len = 3.
+?- len([1,2,3], Len).
+ Len = 3.
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/len_2/sl.py b/prolog/problems/lists/len_2/sl.py
index 5b9f05a..0e98272 100644
--- a/prolog/problems/lists/len_2/sl.py
+++ b/prolog/problems/lists/len_2/sl.py
@@ -6,8 +6,8 @@ slug = 'Izračunaj dolžino danega seznama'
description = '''\
<p><code>len(L, Len)</code>: <code>Len</code> je dolžina seznama <code>L</code>.</p>
<pre>
- ?- len([1,2,3], Len).
- Len = 3.
+?- len([1,2,3], Len).
+ Len = 3.
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/max_2/en.py b/prolog/problems/lists/max_2/en.py
index f851cd9..c4bc7e2 100644
--- a/prolog/problems/lists/max_2/en.py
+++ b/prolog/problems/lists/max_2/en.py
@@ -6,10 +6,10 @@ slug = 'find the largest element in list'
description = '''\
<p><code>max(L, Max)</code>: <code>Max</code> is the largest value in the list <code>L</code>.</p>
<pre>
- ?- max([5,4,1,6], M).
- M = 6.
- ?- max([3,2,2], M).
- M = 3.
+?- max([5,4,1,6], M).
+ M = 6.
+?- max([3,2,2], M).
+ M = 3.
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/max_2/sl.py b/prolog/problems/lists/max_2/sl.py
index 81c354b..7a0d07a 100644
--- a/prolog/problems/lists/max_2/sl.py
+++ b/prolog/problems/lists/max_2/sl.py
@@ -6,10 +6,10 @@ slug = 'Poišči največji element v danem seznamu'
description = '''\
<p><code>max(L, Max)</code>: <code>Max</code> je največji element v seznamu <code>L</code>.</p>
<pre>
- ?- max([5,4,1,6], M).
- M = 6.
- ?- max([3,2,2], M).
- M = 3.
+?- max([5,4,1,6], M).
+ M = 6.
+?- max([3,2,2], M).
+ M = 3.
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/memb_2/en.py b/prolog/problems/lists/memb_2/en.py
index 3fb20d3..2339c5d 100644
--- a/prolog/problems/lists/memb_2/en.py
+++ b/prolog/problems/lists/memb_2/en.py
@@ -6,12 +6,12 @@ slug = 'find elements in list'
description = '''\
<p><code>memb(M, L)</code>: <code>M</code> is an element of list <code>L</code>.</p>
<pre>
- ?- memb(X, [1,2,3]).
- X = 1 ;
- X = 2 ;
- X = 3.
- ?- memb(1, [3,2,X]).
- X = 1.
+?- memb(X, [1,2,3]).
+ X = 1 ;
+ X = 2 ;
+ X = 3.
+?- memb(1, [3,2,X]).
+ X = 1.
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/memb_2/sl.py b/prolog/problems/lists/memb_2/sl.py
index 540394b..382a776 100644
--- a/prolog/problems/lists/memb_2/sl.py
+++ b/prolog/problems/lists/memb_2/sl.py
@@ -6,12 +6,12 @@ slug = 'Preveri (poišči), če je dani element v seznamu'
description = '''\
<p><code>memb(E, L)</code>: <code>E</code> je element seznama <code>L</code>.</p>
<pre>
- ?- memb(X, [1,2,3]).
- X = 1 ;
- X = 2 ;
- X = 3.
- ?- memb(1, [3,2,X]).
- X = 1.
+?- memb(X, [1,2,3]).
+ X = 1 ;
+ X = 2 ;
+ X = 3.
+?- memb(1, [3,2,X]).
+ X = 1.
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/min_2/en.py b/prolog/problems/lists/min_2/en.py
index 2432be2..18f45a6 100644
--- a/prolog/problems/lists/min_2/en.py
+++ b/prolog/problems/lists/min_2/en.py
@@ -6,10 +6,10 @@ slug = 'find the smallest element'
description = '''\
<p><code>min(L, Min)</code>: <code>Min</code> is the smallest value in the list <code>L</code>.</p>
<pre>
- ?- min([5,4,1,6], M).
- M = 1.
- ?- min([3,2,2], M).
- M = 2.
+?- min([5,4,1,6], M).
+ M = 1.
+?- min([3,2,2], M).
+ M = 2.
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/min_2/sl.py b/prolog/problems/lists/min_2/sl.py
index 6a5964b..703a05e 100644
--- a/prolog/problems/lists/min_2/sl.py
+++ b/prolog/problems/lists/min_2/sl.py
@@ -6,10 +6,10 @@ slug = 'Poišči najmanjši element v danem seznamu'
description = '''\
<p><code>min(L, Min)</code>: <code>Min</code> je najmanjši element v seznamu <code>L</code>.</p>
<pre>
- ?- min([5,4,1,6], M).
- M = 1.
- ?- min([3,2,2], M).
- M = 2.
+?- min([5,4,1,6], M).
+ M = 1.
+?- min([3,2,2], M).
+ M = 2.
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/palindrome_1/en.py b/prolog/problems/lists/palindrome_1/en.py
index 7f30f8e..48ee8ac 100644
--- a/prolog/problems/lists/palindrome_1/en.py
+++ b/prolog/problems/lists/palindrome_1/en.py
@@ -6,10 +6,10 @@ slug = 'check if list is a palindrome'
description = '''\
<p><code>palindrome(L)</code>: the elements of list <code>L</code> are the same when read from the front or back of the list.</p>
<pre>
- ?- palindrome([1,2,3,2,1]).
- true.
- ?- palindrome([1,2,3]).
- false.
+?- palindrome([1,2,3,2,1]).
+ true.
+?- palindrome([1,2,3]).
+ false.
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/palindrome_1/sl.py b/prolog/problems/lists/palindrome_1/sl.py
index 04f1f59..ad67d3f 100644
--- a/prolog/problems/lists/palindrome_1/sl.py
+++ b/prolog/problems/lists/palindrome_1/sl.py
@@ -6,10 +6,10 @@ slug = 'Preveri, če elementi seznama tvorijo palindrom'
description = '''\
<p><code>palindrome(L)</code>: Elementi seznama <code>L</code> se preberejo v istem vrstnem redu z začetka in s konca seznama.</p>
<pre>
- ?- palindrome([1,2,3,2,1]).
- true.
- ?- palindrome([1,2,3]).
- false.
+?- palindrome([1,2,3,2,1]).
+ true.
+?- palindrome([1,2,3]).
+ false.
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/permute_2/en.py b/prolog/problems/lists/permute_2/en.py
index 29d287f..b5dae76 100644
--- a/prolog/problems/lists/permute_2/en.py
+++ b/prolog/problems/lists/permute_2/en.py
@@ -6,13 +6,13 @@ slug = 'generate permutations of a list'
description = '''\
<p><code>permute(L1, L2)</code>: the list <code>L2</code> is a permutation of the elements of the list <code>L1</code>.</p>
<pre>
- ?- permute([1,2,3], L).
- L = [1,2,3] ;
- L = [1,3,2] ;
- L = [2,1,3] ;
- L = [2,3,1] ;
- L = [3,1,2] ;
- L = [3,2,1].
+?- permute([1,2,3], L).
+ L = [1,2,3] ;
+ L = [1,3,2] ;
+ L = [2,1,3] ;
+ L = [2,3,1] ;
+ L = [3,1,2] ;
+ L = [3,2,1].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/permute_2/sl.py b/prolog/problems/lists/permute_2/sl.py
index 2c98340..271b5d9 100644
--- a/prolog/problems/lists/permute_2/sl.py
+++ b/prolog/problems/lists/permute_2/sl.py
@@ -6,13 +6,13 @@ slug = 'Generiraj permutacije elementov v seznamu'
description = '''\
<p><code>permute(L1, L2)</code>: seznam <code>L2</code> je permutacija vrstnega reda elementov v seznamu <code>L1</code>.</p>
<pre>
- ?- permute([1,2,3], L).
- L = [1,2,3] ;
- L = [1,3,2] ;
- L = [2,1,3] ;
- L = [2,3,1] ;
- L = [3,1,2] ;
- L = [3,2,1].
+?- permute([1,2,3], L).
+ L = [1,2,3] ;
+ L = [1,3,2] ;
+ L = [2,1,3] ;
+ L = [2,3,1] ;
+ L = [3,1,2] ;
+ L = [3,2,1].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/rev_2/en.py b/prolog/problems/lists/rev_2/en.py
index 7941f9e..3ae126e 100644
--- a/prolog/problems/lists/rev_2/en.py
+++ b/prolog/problems/lists/rev_2/en.py
@@ -6,10 +6,10 @@ slug = 'reverse a list'
description = '''\
<p><code>rev(L1, L2)</code>: the list <code>L2</code> is obtained from <code>L1</code> by reversing the order of the elements.</p>
<pre>
- ?- rev([1,2,3], X).
- X = [3,2,1].
- ?- rev([], X).
- X = [].
+?- rev([1,2,3], X).
+ X = [3,2,1].
+?- rev([], X).
+ X = [].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/rev_2/sl.py b/prolog/problems/lists/rev_2/sl.py
index 95ba8b7..ab58a1c 100644
--- a/prolog/problems/lists/rev_2/sl.py
+++ b/prolog/problems/lists/rev_2/sl.py
@@ -6,10 +6,10 @@ slug = 'Obrni seznam'
description = '''\
<p><code>rev(L1, L2)</code>: seznam <code>L2</code> ima elemente v obratnem vrstnem redu kot seznam <code>L1</code>.</p>
<pre>
- ?- rev([1,2,3], X).
- X = [3,2,1].
- ?- rev([], X).
- X = [].
+?- rev([1,2,3], X).
+ X = [3,2,1].
+?- rev([], X).
+ X = [].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/shiftleft_2/en.py b/prolog/problems/lists/shiftleft_2/en.py
index a99b4a7..a8dd5f0 100644
--- a/prolog/problems/lists/shiftleft_2/en.py
+++ b/prolog/problems/lists/shiftleft_2/en.py
@@ -6,8 +6,8 @@ slug = 'shift a list left'
description = '''\
<p><code>shiftleft(L1, L2)</code>: the list <code>L2</code> is obtained from L1 by shifting elements to the left by one (circular shift).</p>
<pre>
- ?- shiftleft([1,2,3,4,5], X).
- X = [2,3,4,5,1].
+?- shiftleft([1,2,3,4,5], X).
+ X = [2,3,4,5,1].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/shiftleft_2/sl.py b/prolog/problems/lists/shiftleft_2/sl.py
index 44e726f..ae412a6 100644
--- a/prolog/problems/lists/shiftleft_2/sl.py
+++ b/prolog/problems/lists/shiftleft_2/sl.py
@@ -6,8 +6,8 @@ slug = 'Premakni elemente seznama za eno mesto v levo'
description = '''\
<p><code>shiftleft(L1, L2)</code>: elemente v seznamu <code>L1</code> za eno mesto premaknemo v levo ("circular shift").</p>
<pre>
- ?- shiftleft([1,2,3,4,5], X).
- X = [2,3,4,5,1].
+?- shiftleft([1,2,3,4,5], X).
+ X = [2,3,4,5,1].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/shiftright_2/en.py b/prolog/problems/lists/shiftright_2/en.py
index 13384b0..63e11cf 100644
--- a/prolog/problems/lists/shiftright_2/en.py
+++ b/prolog/problems/lists/shiftright_2/en.py
@@ -6,8 +6,8 @@ slug = 'shift a list right'
description = '''\
<p><code>shiftright(L1, L2)</code>: the list <code>L2</code> is obtained from L1 by shifting elements to the right by one (circular shift).</p>
<pre>
- ?- shiftright([1,2,3,4,5], X).
- X = [5,1,2,3,4].
+?- shiftright([1,2,3,4,5], X).
+ X = [5,1,2,3,4].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/shiftright_2/sl.py b/prolog/problems/lists/shiftright_2/sl.py
index 9d84510..62fca8d 100644
--- a/prolog/problems/lists/shiftright_2/sl.py
+++ b/prolog/problems/lists/shiftright_2/sl.py
@@ -6,8 +6,8 @@ slug = 'Premakni elemente seznama za eno mesto v desno'
description = '''\
<p><code>shiftright(L1, L2)</code>: elemente v seznamu <code>L1</code> za eno mesto premaknemo v desno ("circular shift").</p>
<pre>
- ?- shiftright([1,2,3,4,5], X).
- X = [5,1,2,3,4].
+?- shiftright([1,2,3,4,5], X).
+ X = [5,1,2,3,4].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/sublist_2/en.py b/prolog/problems/lists/sublist_2/en.py
index e761e19..2697d9b 100644
--- a/prolog/problems/lists/sublist_2/en.py
+++ b/prolog/problems/lists/sublist_2/en.py
@@ -6,14 +6,14 @@ slug = 'generate sublists of a list'
description = '''\
<p><code>sublist(L, SL)</code>: <code>SL</code> is a continuous sublist of the list <code>L</code>.</p>
<pre>
- ?- sublist([1,2,3], X).
- X = [] ;
- X = [1] ;
- X = [1,2] ;
- X = [1,2,3] ;
- X = [2] ;
- X = [2,3] ;
- X = [3].
+?- sublist([1,2,3], X).
+ X = [] ;
+ X = [1] ;
+ X = [1,2] ;
+ X = [1,2,3] ;
+ X = [2] ;
+ X = [2,3] ;
+ X = [3].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/sublist_2/sl.py b/prolog/problems/lists/sublist_2/sl.py
index 27d9b54..cc42219 100644
--- a/prolog/problems/lists/sublist_2/sl.py
+++ b/prolog/problems/lists/sublist_2/sl.py
@@ -6,14 +6,14 @@ slug = 'Generiraj vse podsezname danega seznama'
description = '''\
<p><code>sublist(L, SL)</code>: <code>SL</code> je podseznam seznama <code>L</code>. Predikat naj vrne vse možne podsezname, enega po enega.</p>
<pre>
- ?- sublist([1,2,3], X).
- X = [] ;
- X = [1] ;
- X = [1,2] ;
- X = [1,2,3] ;
- X = [2] ;
- X = [2,3] ;
- X = [3].
+?- sublist([1,2,3], X).
+ X = [] ;
+ X = [1] ;
+ X = [1,2] ;
+ X = [1,2,3] ;
+ X = [2] ;
+ X = [2,3] ;
+ X = [3].
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/sum_2/en.py b/prolog/problems/lists/sum_2/en.py
index fc4cea8..b4dab45 100644
--- a/prolog/problems/lists/sum_2/en.py
+++ b/prolog/problems/lists/sum_2/en.py
@@ -6,8 +6,8 @@ slug = 'find the sum of all elements in list'
description = '''\
<p><code>sum(L, Sum)</code>: <code>Sum</code> is the sum of all elements in the list <code>L</code>.</p>
<pre>
- ?- sum([1,2,3], Sum).
- Sum = 6.
+?- sum([1,2,3], Sum).
+ Sum = 6.
</pre>'''
hint = {}
diff --git a/prolog/problems/lists/sum_2/sl.py b/prolog/problems/lists/sum_2/sl.py
index 0e1e6d6..cc0423b 100644
--- a/prolog/problems/lists/sum_2/sl.py
+++ b/prolog/problems/lists/sum_2/sl.py
@@ -6,8 +6,8 @@ slug = 'Izračunaj vsoto elementov v seznamu'
description = '''\
<p><code>sum(L, Sum)</code>: <code>Sum</code> je vsota vseh elementov v seznamu <code>L</code>.</p>
<pre>
- ?- sum([1,2,3], Sum).
- Sum = 6.
+?- sum([1,2,3], Sum).
+ Sum = 6.
</pre>'''
hint = {}
diff --git a/prolog/problems/old_exams/pascal_3/en.py b/prolog/problems/old_exams/pascal_3/en.py
index bd17577..8481bd6 100644
--- a/prolog/problems/old_exams/pascal_3/en.py
+++ b/prolog/problems/old_exams/pascal_3/en.py
@@ -1,27 +1,27 @@
# coding=utf-8
name = 'pascal/3'
-slug = 'pascal's triangle'
+slug = 'pascal’s triangle'
description = '''\
<p>The first five rows of the Pascal's triangle look like this:</p>
<pre>
- 1
- 1 1
- 1 2 1
- 1 3 3 1
- 1 4 6 4 1
+ 1
+ 1 1
+ 1 2 1
+ 1 3 3 1
+1 4 6 4 1
</pre>
<p>
Each row begins and ends with 1. Every other element can be obtained as a sum of the two values above it. Write the predicate <code>pascal(I,J,N)</code> that returns the <code>J</code>-th value in the <code>I</code>-th column of the Pascal's triangle. Your solution should return exactly one answer for any input (the <code>I</code> and <code>J</code> arguments start counting with 0; you can assume that 0 ≤ <code>J</code> ≤ <code>I</code>).
<pre>
- ?- pascal(0, 0, N).
- N = 1.
- ?- pascal(2, 1, N).
- N = 2.
- ?- pascal(4, 3, N).
- N = 4.
+?- pascal(0, 0, N).
+ N = 1.
+?- pascal(2, 1, N).
+ N = 2.
+?- pascal(4, 3, N).
+ N = 4.
</pre>'''
hint = {}
diff --git a/prolog/problems/other/genlist_4/en.py b/prolog/problems/other/genlist_4/en.py
index bcdcefa..4807261 100644
--- a/prolog/problems/other/genlist_4/en.py
+++ b/prolog/problems/other/genlist_4/en.py
@@ -6,8 +6,8 @@ slug = 'generate a list of random numbers'
description = '''\
<p><code>genlist(L, N, Min, Max)</code>: the list <code>L</code> contains <code>N</code> random numbers from the interval [<code>Min</code>,<code>Max</code>).</p>
<pre>
- ?- genlist(L, 5, 10, 100).
- L = [12,99,81,24].
+?- genlist(L, 5, 10, 100).
+ L = [12,99,81,24].
</pre>'''
hint = {}
diff --git a/prolog/problems/sets/diff_3/en.py b/prolog/problems/sets/diff_3/en.py
index 47def00..3c4cc97 100644
--- a/prolog/problems/sets/diff_3/en.py
+++ b/prolog/problems/sets/diff_3/en.py
@@ -6,8 +6,8 @@ slug = 'find the difference of two sets'
description = '''\
<p><code>diff(S1, S2, D)</code>: the list <code>D</code> contains all elements of <code>S1</code> that don't appear in <code>S2</code>, with no duplicates.</p>
<pre>
- ?- diff([2,3,5,1,7,9], [3,7,4,5,6], D).
- D = [2,1,9].
+?- diff([2,3,5,1,7,9], [3,7,4,5,6], D).
+ D = [2,1,9].
</pre>'''
hint = {}
diff --git a/prolog/problems/sets/diff_3/sl.py b/prolog/problems/sets/diff_3/sl.py
index d9b89e7..9923272 100644
--- a/prolog/problems/sets/diff_3/sl.py
+++ b/prolog/problems/sets/diff_3/sl.py
@@ -6,8 +6,8 @@ slug = 'Poišči razliko dveh množic'
description = '''\
<p><code>diff(S1, S2, D)</code>: seznam <code>D</code> vsebuje elemente iz <code>S1</code>, ki niso v <code>S2</code>.</p>
<pre>
- ?- diff([2,3,5,1,7,9], [3,7,4,5,6], D).
- D = [2,1,9].
+?- diff([2,3,5,1,7,9], [3,7,4,5,6], D).
+ D = [2,1,9].
</pre>'''
hint = {}
diff --git a/prolog/problems/sets/intersect_3/en.py b/prolog/problems/sets/intersect_3/en.py
index fed5e34..fefc50a 100644
--- a/prolog/problems/sets/intersect_3/en.py
+++ b/prolog/problems/sets/intersect_3/en.py
@@ -6,8 +6,8 @@ slug = 'find the intersection of two sets'
description = '''\
<p><code>intersect(S1, S2, I)</code>: the list <code>I</code> contains every element that appears in both <code>S1</code> and <code>S2</code>, with no duplicates.</p>
<pre>
- ?- intersect([1,5,6,3,4,2], [8,1,5,9,4,3], I).
- I = [1,5,3,4].
+?- intersect([1,5,6,3,4,2], [8,1,5,9,4,3], I).
+ I = [1,5,3,4].
</pre>'''
hint = {}
diff --git a/prolog/problems/sets/intersect_3/sl.py b/prolog/problems/sets/intersect_3/sl.py
index a6af2d5..ac5501b 100644
--- a/prolog/problems/sets/intersect_3/sl.py
+++ b/prolog/problems/sets/intersect_3/sl.py
@@ -6,8 +6,8 @@ slug = 'Poišči presek dveh množic'
description = '''\
<p><code>intersect(S1, S2, I)</code>: seznam <code>I</code> vsebuje presek elementov v <code>S1</code> in <code>S2</code>.</p>
<pre>
- ?- intersect([1,5,6,3,4,2], [8,1,5,9,4,3], I).
- I = [1,5,3,4].
+?- intersect([1,5,6,3,4,2], [8,1,5,9,4,3], I).
+ I = [1,5,3,4].
</pre>'''
hint = {}
diff --git a/prolog/problems/sets/is_subset_2/en.py b/prolog/problems/sets/is_subset_2/en.py
index ad4804c..00d15e6 100644
--- a/prolog/problems/sets/is_subset_2/en.py
+++ b/prolog/problems/sets/is_subset_2/en.py
@@ -6,10 +6,10 @@ slug = 'check if one set is a subset of another'
description = '''\
<p><code>is_subset(S1, S2)</code>: the set <code>S1</code> is a subset of <code>S2</code>.</p>
<pre>
- ?- is_subset([2,1,3,5,0], [3,2,1,4,5,9]).
- false.
- ?- is_subset([2,1,3,5], [3,2,1,4,5,9]).
- true.
+?- is_subset([2,1,3,5,0], [3,2,1,4,5,9]).
+ false.
+?- is_subset([2,1,3,5], [3,2,1,4,5,9]).
+ true.
</pre>'''
hint = {}
diff --git a/prolog/problems/sets/is_subset_2/sl.py b/prolog/problems/sets/is_subset_2/sl.py
index ccec5b0..4119aaf 100644
--- a/prolog/problems/sets/is_subset_2/sl.py
+++ b/prolog/problems/sets/is_subset_2/sl.py
@@ -6,10 +6,10 @@ slug = 'Preveri, če je prva množica podmnožica od druge'
description = '''\
<p><code>is_subset(S1, S2)</code>: množica <code>S1</code> je podmnožica od <code>S2</code>.</p>
<pre>
- ?- is_subset([2,1,3,5,0], [3,2,1,4,5,9]).
- false.
- ?- is_subset([2,1,3,5], [3,2,1,4,5,9]).
- true.
+?- is_subset([2,1,3,5,0], [3,2,1,4,5,9]).
+ false.
+?- is_subset([2,1,3,5], [3,2,1,4,5,9]).
+ true.
</pre>'''
hint = {}
diff --git a/prolog/problems/sets/is_superset_2/en.py b/prolog/problems/sets/is_superset_2/en.py
index 464762c..df03caf 100644
--- a/prolog/problems/sets/is_superset_2/en.py
+++ b/prolog/problems/sets/is_superset_2/en.py
@@ -6,10 +6,10 @@ slug = 'check if one set is a superset of the other'
description = '''\
<p><code>is_superset(S1, S2)</code>: the set <code>S1</code> is a superset (contains all elements) of <code>S2</code>.</p>
<pre>
- ?- is_superset([3,2,1,4,5,9], [2,1,3,5]).
- true.
- ?- is_superset([3,2,1,4,5,9], [2,1,3,5,0]).
- false.
+?- is_superset([3,2,1,4,5,9], [2,1,3,5]).
+ true.
+?- is_superset([3,2,1,4,5,9], [2,1,3,5,0]).
+ false.
</pre>'''
hint = {}
diff --git a/prolog/problems/sets/is_superset_2/sl.py b/prolog/problems/sets/is_superset_2/sl.py
index 77d0d9d..a8cc070 100644
--- a/prolog/problems/sets/is_superset_2/sl.py
+++ b/prolog/problems/sets/is_superset_2/sl.py
@@ -6,10 +6,10 @@ slug = 'Preveri, če je prva množica nadmnožica od druge'
description = '''\
<p><code>is_superset(S1, S2)</code>: množica <code>S1</code> je nadmnožica (vsebuje vse elemente) od <code>S2</code>.</p>
<pre>
- ?- is_superset([3,2,1,4,5,9], [2,1,3,5]).
- true.
- ?- is_superset([3,2,1,4,5,9], [2,1,3,5,0]).
- false.
+?- is_superset([3,2,1,4,5,9], [2,1,3,5]).
+ true.
+?- is_superset([3,2,1,4,5,9], [2,1,3,5,0]).
+ false.
</pre>'''
hint = {}
diff --git a/prolog/problems/sets/powerset_2/en.py b/prolog/problems/sets/powerset_2/en.py
index ad2fe87..dcc299c 100644
--- a/prolog/problems/sets/powerset_2/en.py
+++ b/prolog/problems/sets/powerset_2/en.py
@@ -6,8 +6,8 @@ slug = 'find all subsets of a set'
description = '''\
<p><code>powerset(Set, Powerset)</code>: the list <code>Powerset</code> contains all subsets of <code>Set</code>.</p>
<pre>
- ?- powerset([1,2,3], L).
- L = [[1,2,3],[1,2],[1,3],[1],[2,3],[2],[3],[]].
+?- powerset([1,2,3], L).
+ L = [[1,2,3],[1,2],[1,3],[1],[2,3],[2],[3],[]].
</pre>'''
hint = {}
diff --git a/prolog/problems/sets/powerset_2/sl.py b/prolog/problems/sets/powerset_2/sl.py
index a782dee..4a092db 100644
--- a/prolog/problems/sets/powerset_2/sl.py
+++ b/prolog/problems/sets/powerset_2/sl.py
@@ -6,8 +6,8 @@ slug = 'Poišči potenčno množico od dane množice'
description = '''\
<p><code>powerset(Set, Powerset)</code>: množica <code>Powerset</code> vsebuje vse podmnožice od množice <code>Set</code>.</p>
<pre>
- ?- powerset([1,2,3], L).
- L = [[1,2,3],[1,2],[1,3],[1],[2,3],[2],[3],[]].
+?- powerset([1,2,3], L).
+ L = [[1,2,3],[1,2],[1,3],[1],[2,3],[2],[3],[]].
</pre>'''
hint = {}
diff --git a/prolog/problems/sets/subset_2/en.py b/prolog/problems/sets/subset_2/en.py
index eb96ac0..e31b60f 100644
--- a/prolog/problems/sets/subset_2/en.py
+++ b/prolog/problems/sets/subset_2/en.py
@@ -6,15 +6,15 @@ slug = 'generate all subsets of a set'
description = '''\
<p><code>subset(Set, Subset)</code>: the set <code>Subset</code> is a subset of <code>Set</code>. This predicate should generate all valid solutions, one by one.</p>
<pre>
- ?- subset([1,2,3], SS).
- SS = [1,2,3] ;
- SS = [1,2] ;
- SS = [1,3] ;
- SS = [1] ;
- SS = [2,3] ;
- SS = [2] ;
- SS = [3] ;
- SS = [].
+?- subset([1,2,3], SS).
+ SS = [1,2,3] ;
+ SS = [1,2] ;
+ SS = [1,3] ;
+ SS = [1] ;
+ SS = [2,3] ;
+ SS = [2] ;
+ SS = [3] ;
+ SS = [].
</pre>'''
hint = {}
diff --git a/prolog/problems/sets/subset_2/sl.py b/prolog/problems/sets/subset_2/sl.py
index eae4fcf..012d132 100644
--- a/prolog/problems/sets/subset_2/sl.py
+++ b/prolog/problems/sets/subset_2/sl.py
@@ -6,15 +6,15 @@ slug = 'Generiraj vse podmnožice dane množice'
description = '''\
<p><code>subset(Set, Subset)</code>: množica <code>Subset</code> je podmnožica od <code>Set</code>. Ta predikat naj, eno po eno, generira vse veljavne podmnožice.</p>
<pre>
- ?- subset([1,2,3], SS).
- SS = [1,2,3] ;
- SS = [1,2] ;
- SS = [1,3] ;
- SS = [1] ;
- SS = [2,3] ;
- SS = [2] ;
- SS = [3] ;
- SS = [].
+?- subset([1,2,3], SS).
+ SS = [1,2,3] ;
+ SS = [1,2] ;
+ SS = [1,3] ;
+ SS = [1] ;
+ SS = [2,3] ;
+ SS = [2] ;
+ SS = [3] ;
+ SS = [].
</pre>'''
hint = {}
diff --git a/prolog/problems/sets/union_3/en.py b/prolog/problems/sets/union_3/en.py
index db6bbd9..3789e96 100644
--- a/prolog/problems/sets/union_3/en.py
+++ b/prolog/problems/sets/union_3/en.py
@@ -6,8 +6,8 @@ slug = 'find the union of two sets'
description = '''\
<p><code>union(S1, S2, U)</code>: the list <code>U</code> contains all elements of <code>S1</code> and <code>S2</code>, with no duplicates.</p>
<pre>
- ?- union([1,5,2,3], [3,4,8,2], U).
- U = [1,5,3,4,8,2].
+?- union([1,5,2,3], [3,4,8,2], U).
+ U = [1,5,3,4,8,2].
</pre>'''
hint = {}
diff --git a/prolog/problems/sets/union_3/sl.py b/prolog/problems/sets/union_3/sl.py
index 27d3088..9a19323 100644
--- a/prolog/problems/sets/union_3/sl.py
+++ b/prolog/problems/sets/union_3/sl.py
@@ -6,8 +6,8 @@ slug = 'Poišči unijo dveh množic'
description = '''\
<p><code>union(S1, S2, U)</code>: seznam <code>U</code> predstavlja unijo elementov v seznamih <code>S1</code> in <code>S2</code>, duplikatov (kot se za množice spodobi) ni.</p>
<pre>
- ?- union([1,5,2,3], [3,4,8,2], U).
- U = [1,5,3,4,8,2].
+?- union([1,5,2,3], [3,4,8,2], U).
+ U = [1,5,3,4,8,2].
</pre>'''
hint = {}
diff --git a/prolog/problems/sorting/is_sorted_1/en.py b/prolog/problems/sorting/is_sorted_1/en.py
index 3ea6572..9848df1 100644
--- a/prolog/problems/sorting/is_sorted_1/en.py
+++ b/prolog/problems/sorting/is_sorted_1/en.py
@@ -6,10 +6,10 @@ slug = 'check if list is sorted'
description = '''\
<p><code>is_sorted(L)</code>: the elements of list <code>L</code> are sorted in non-decreasing order.</p>
<pre>
- ?- is_sorted([2,3,6,8,12]).
- true.
- ?- is_sorted([2,3,1,6,5]).
- false.
+?- is_sorted([2,3,6,8,12]).
+ true.
+?- is_sorted([2,3,1,6,5]).
+ false.
</pre>'''
hint = {}
diff --git a/prolog/problems/sorting/is_sorted_1/sl.py b/prolog/problems/sorting/is_sorted_1/sl.py
index 5d4c1c5..a1429d3 100644
--- a/prolog/problems/sorting/is_sorted_1/sl.py
+++ b/prolog/problems/sorting/is_sorted_1/sl.py
@@ -6,10 +6,10 @@ slug = 'Preveri, če so elementi seznama naraščajoče urejeni'
description = '''\
<p><code>is_sorted(L)</code>: elementi v seznamu <code>L</code> morajo biti urejeni v naraščajočem vrstnem redu.</p>
<pre>
- ?- is_sorted([2,3,6,8,12]).
- true.
- ?- is_sorted([2,3,1,6,5]).
- false.
+?- is_sorted([2,3,6,8,12]).
+ true.
+?- is_sorted([2,3,1,6,5]).
+ false.
</pre>'''
hint = {}
diff --git a/prolog/problems/sorting/isort_2/en.py b/prolog/problems/sorting/isort_2/en.py
index 9fba6ac..0998a6d 100644
--- a/prolog/problems/sorting/isort_2/en.py
+++ b/prolog/problems/sorting/isort_2/en.py
@@ -6,8 +6,8 @@ slug = 'sort a list using insertion sort'
description = '''\
<p><code>isort(L, SL)</code>: the list <code>SL</code> contains the elements of <code>L</code> sorted in non-decreasing order. Use the predicate <code>sins/3</code> to implement insertion sort.</p>
<pre>
- ?- isort([2,3,1,5,4], L).
- L = [1,2,3,4,5].
+?- isort([2,3,1,5,4], L).
+ L = [1,2,3,4,5].
</pre>'''
hint = {}
diff --git a/prolog/problems/sorting/isort_2/sl.py b/prolog/problems/sorting/isort_2/sl.py
index 79c3239..63459c4 100644
--- a/prolog/problems/sorting/isort_2/sl.py
+++ b/prolog/problems/sorting/isort_2/sl.py
@@ -6,8 +6,8 @@ slug = 'Uredi seznam z uporabo urejanja z vstavljanjem'
description = '''\
<p><code>isort(L, SL)</code>: seznam <code>SL</code> vsebuje elemente iz seznama <code>L</code> urejene v naraščajočem vrstnem redu. Uporabi predikat <code>sins/3</code> za implementacijo urejanja z vstavljanjem.</p>
<pre>
- ?- isort([2,3,1,5,4], L).
- L = [1,2,3,4,5].
+?- isort([2,3,1,5,4], L).
+ L = [1,2,3,4,5].
</pre>'''
hint = {}
diff --git a/prolog/problems/sorting/pivoting_4/en.py b/prolog/problems/sorting/pivoting_4/en.py
index 43e4ae3..82976ba 100644
--- a/prolog/problems/sorting/pivoting_4/en.py
+++ b/prolog/problems/sorting/pivoting_4/en.py
@@ -6,8 +6,8 @@ slug = 'split a list according to the pivot'
description = '''\
<p><code>pivoting(P, L, S, G)</code>: the list <code>S</code> contains the elements of <code>L</code> <em>smaller or equal to</em> <code>P</code>, and the list <code>G</code> contains the elements of <code>L</code> <em>greater than</em> <code>P</code>. The order of elements in <code>S</code> and <code>G</code> should be the same as in <code>L</code>.</p>
<pre>
- ?- pivoting(4, [1,4,5,8,6,4,2], S, G).
- S = [1,4,4,2], G = [5,8,6].
+?- pivoting(4, [1,4,5,8,6,4,2], S, G).
+ S = [1,4,4,2], G = [5,8,6].
</pre>'''
hint = {}
diff --git a/prolog/problems/sorting/pivoting_4/sl.py b/prolog/problems/sorting/pivoting_4/sl.py
index b18e112..e1aeb7a 100644
--- a/prolog/problems/sorting/pivoting_4/sl.py
+++ b/prolog/problems/sorting/pivoting_4/sl.py
@@ -6,8 +6,8 @@ slug = 'Razdeli seznam na dva dela glede na podani element (pivot)'
description = '''\
<p><code>pivoting(P, L, S, G)</code>: seznam <code>S</code> vsebuje elemente iz <code>L</code> <em>manjše ali enake</em> <code>P</code>, seznam <code>G</code> pa elemente iz <code>L</code> <em>večje od</em> <code>P</code>. Vrstni red elementov v <code>S</code> in <code>G</code> naj bo enak kot v <code>L</code>.</p>
<pre>
- ?- pivoting(4, [1,4,5,8,6,4,2], S, G).
- S = [1,4,4,2], G = [5,8,6].
+?- pivoting(4, [1,4,5,8,6,4,2], S, G).
+ S = [1,4,4,2], G = [5,8,6].
</pre>'''
hint = {}
diff --git a/prolog/problems/sorting/quick_sort_2/en.py b/prolog/problems/sorting/quick_sort_2/en.py
index faf6d41..3457440 100644
--- a/prolog/problems/sorting/quick_sort_2/en.py
+++ b/prolog/problems/sorting/quick_sort_2/en.py
@@ -6,8 +6,8 @@ slug = 'sort a list using quicksort'
description = '''\
<p><code>quick_sort(L, SL)</code>: the list <code>SL</code> contains the elements of <code>L</code> sorted in non-decreasing order. Use the predicate <code>pivoting/4</code> to implement quicksort.</p>
<pre>
- ?- quick_sort([2,3,1,5,4], L).
- L = [1,2,3,4,5].
+?- quick_sort([2,3,1,5,4], L).
+ L = [1,2,3,4,5].
</pre>'''
hint = {}
diff --git a/prolog/problems/sorting/quick_sort_2/sl.py b/prolog/problems/sorting/quick_sort_2/sl.py
index 9611b46..8b6ad94 100644
--- a/prolog/problems/sorting/quick_sort_2/sl.py
+++ b/prolog/problems/sorting/quick_sort_2/sl.py
@@ -6,8 +6,8 @@ slug = 'Uredi seznam z algoritmom quicksort'
description = '''\
<p><code>quick_sort(L, SL)</code>: seznam <code>SL</code> vsebuje elemente iz <code>L</code> urejene v naraščajočem vrstnem redu. Uporabi predikat <code>pivoting/4</code> za implementacijo algoritma quicksort.</p>
<pre>
- ?- quick_sort([2,3,1,5,4], L).
- L = [1,2,3,4,5].
+?- quick_sort([2,3,1,5,4], L).
+ L = [1,2,3,4,5].
</pre>'''
hint = {}
diff --git a/prolog/problems/sorting/sins_3/en.py b/prolog/problems/sorting/sins_3/en.py
index 2d9cf98..db35da2 100644
--- a/prolog/problems/sorting/sins_3/en.py
+++ b/prolog/problems/sorting/sins_3/en.py
@@ -6,10 +6,10 @@ slug = 'insert an element at correct position into a sorted list'
description = '''\
<p><code>sins(X, SortedList, NewList)</code>: the list <code>NewList</code> is obtained by inserting <code>X</code> into <code>SortedList</code> at the correct position to preserve the non-decreasing order of elements.</p>
<pre>
- ?- sins(4, [1,2,3,5], L).
- L = [1,2,3,4,5].
- ?- sins(3, [1,2,3,4], L).
- L = [1,2,3,3,4].
+?- sins(4, [1,2,3,5], L).
+ L = [1,2,3,4,5].
+?- sins(3, [1,2,3,4], L).
+ L = [1,2,3,3,4].
</pre>'''
hint = {}
diff --git a/prolog/problems/sorting/sins_3/sl.py b/prolog/problems/sorting/sins_3/sl.py
index 22e51b2..fe7d015 100644
--- a/prolog/problems/sorting/sins_3/sl.py
+++ b/prolog/problems/sorting/sins_3/sl.py
@@ -6,10 +6,10 @@ slug = 'Vstavi element na ustrezno mesto v urejen seznam'
description = '''\
<p><code>sins(X, SortedList, NewList)</code>: seznam <code>NewList</code> dobiš tako, da vstaviš element <code>X</code> v <code>SortedList</code> na ustrezno mesto tako, da ohraniš urejenost elementov.</p>
<pre>
- ?- sins(4, [1,2,3,5], L).
- L = [1,2,3,4,5].
- ?- sins(3, [1,2,3,4], L).
- L = [1,2,3,3,4].
+?- sins(4, [1,2,3,5], L).
+ L = [1,2,3,4,5].
+?- sins(3, [1,2,3,4], L).
+ L = [1,2,3,3,4].
</pre>'''
hint = {}
diff --git a/prolog/problems/sorting/slowest_sort_ever_2/en.py b/prolog/problems/sorting/slowest_sort_ever_2/en.py
index e327102..689060c 100644
--- a/prolog/problems/sorting/slowest_sort_ever_2/en.py
+++ b/prolog/problems/sorting/slowest_sort_ever_2/en.py
@@ -6,8 +6,8 @@ slug = 'sort a list by randomly permuting elements'
description = '''\
<p><code>slowest_sort_ever(L, SL)</code>: the list <code>SL</code> contains the elements of <code>L</code> sorted in non-decreasing order. Average and worst case running time is O(n * n!).</p>
<pre>
- ?- slowest_sort_ever([2,3,1,5,4], L).
- L = [1,2,3,4,5].
+?- slowest_sort_ever([2,3,1,5,4], L).
+ L = [1,2,3,4,5].
</pre>'''
hint = {}
diff --git a/prolog/problems/sorting/slowest_sort_ever_2/sl.py b/prolog/problems/sorting/slowest_sort_ever_2/sl.py
index c62582c..d6cf66b 100644
--- a/prolog/problems/sorting/slowest_sort_ever_2/sl.py
+++ b/prolog/problems/sorting/slowest_sort_ever_2/sl.py
@@ -6,8 +6,8 @@ slug = 'Uredi seznam elementov s pomočjo naključnih permutacij'
description = '''\
<p><code>slowest_sort_ever(L, SL)</code>: seznam <code>SL</code> vsebuje elemente seznama <code>L</code> v naraščajočem vrstnem redu. Časovna zahtevnost algoritma naj bo O(n * n!).</p>
<pre>
- ?- slowest_sort_ever([2,3,1,5,4], L).
- L = [1,2,3,4,5].
+?- slowest_sort_ever([2,3,1,5,4], L).
+ L = [1,2,3,4,5].
</pre>'''
hint = {}
diff --git a/prolog/problems/trees/deletebt_3/en.py b/prolog/problems/trees/deletebt_3/en.py
index 215fced..eedab0a 100644
--- a/prolog/problems/trees/deletebt_3/en.py
+++ b/prolog/problems/trees/deletebt_3/en.py
@@ -6,10 +6,10 @@ slug = 'delete an element from a binary tree'
description = '''\
<p><code>deleteBT(X, T, NewT)</code>: the binary tree <code>NewT</code> is obtained from <code>T</code> by deleting one occurence of the element <code>X</code>. If <code>X</code> is not a leaf node, the root of one of its subtrees is moved up. Your code should generate all valid solutions.</p>
<pre>
- ?- deleteBT(1, b(b(b(nil,4,nil),2,b(nil,6,nil)),1,b(nil,3,b(nil,5,nil))), T).
- T = b(b(nil,4,b(nil,6,nil)),2,b(nil,3,b(nil,5,nil))) ;
- T = b(b(b(nil,4,nil),6,nil),2,b(nil,3,b(nil,5,nil))) ;
- T = b(b(b(nil,4,nil),2,b(nil,6,nil)),3,b(nil,5,nil)).
+?- deleteBT(1, b(b(b(nil,4,nil),2,b(nil,6,nil)),1,b(nil,3,b(nil,5,nil))), T).
+ T = b(b(nil,4,b(nil,6,nil)),2,b(nil,3,b(nil,5,nil))) ;
+ T = b(b(b(nil,4,nil),6,nil),2,b(nil,3,b(nil,5,nil))) ;
+ T = b(b(b(nil,4,nil),2,b(nil,6,nil)),3,b(nil,5,nil)).
</pre>'''
hint = {}
diff --git a/prolog/problems/trees/depthbt_2/en.py b/prolog/problems/trees/depthbt_2/en.py
index 94fec48..c3f7d4c 100644
--- a/prolog/problems/trees/depthbt_2/en.py
+++ b/prolog/problems/trees/depthbt_2/en.py
@@ -6,8 +6,8 @@ slug = 'find the depth of a binary tree'
description = '''\
<p><code>depthBT(T, D)</code>: <code>D</code> is the depth of the binary tree <code>T</code>.</p>
<pre>
- ?- depthBT(b(b(b(nil,4,nil),2,b(nil,6,nil)),1,nil), D).
- D = 3.
+?- depthBT(b(b(b(nil,4,nil),2,b(nil,6,nil)),1,nil), D).
+ D = 3.
</pre>'''
hint = {}
diff --git a/prolog/problems/trees/insertbt_3/en.py b/prolog/problems/trees/insertbt_3/en.py
index 08eb2cd..c0fa47c 100644
--- a/prolog/problems/trees/insertbt_3/en.py
+++ b/prolog/problems/trees/insertbt_3/en.py
@@ -6,11 +6,11 @@ slug = 'insert an element into a binary tree'
description = '''\
<p><code>insertBT(X, T, NewT)</code>: the binary tree <code>NewT</code> is obtained from <code>T</code> by inserting the element <code>X</code> at a certain position. This is the opposite of the predicate <code>deleteBT/3</code>. Your code should generate all valid solutions.</p>
<pre>
- ?- insertBT(2, b(nil,1,nil), T).
- T = b(b(nil,1,nil),2,nil) ;
- T = b(nil,2,b(nil,1,nil)) ;
- T = b(b(nil,2,nil),1,nil) ;
- T = b(nil,1,b(nil,2,nil)).
+?- insertBT(2, b(nil,1,nil), T).
+ T = b(b(nil,1,nil),2,nil) ;
+ T = b(nil,2,b(nil,1,nil)) ;
+ T = b(b(nil,2,nil),1,nil) ;
+ T = b(nil,1,b(nil,2,nil)).
</pre>'''
hint = {}
diff --git a/prolog/problems/trees/maxt_2/en.py b/prolog/problems/trees/maxt_2/en.py
index 20db52e..bb222f8 100644
--- a/prolog/problems/trees/maxt_2/en.py
+++ b/prolog/problems/trees/maxt_2/en.py
@@ -6,8 +6,8 @@ slug = 'find the greatest element in a tree'
description = '''\
<p><code>maxT(Tree, Max)</code>: <code>Max</code> is the greatest element in the tree <code>Tree</code>.</p>
<pre>
- ?- maxT(t(1, t(2), t(3)), Max).
- Max = 3.
+?- maxT(t(1, t(2), t(3)), Max).
+ Max = 3.
</pre>'''
hint = {}
diff --git a/prolog/problems/trees/memberbt_2/en.py b/prolog/problems/trees/memberbt_2/en.py
index e8d48f2..1559151 100644
--- a/prolog/problems/trees/memberbt_2/en.py
+++ b/prolog/problems/trees/memberbt_2/en.py
@@ -6,10 +6,10 @@ slug = 'find elements in a binary tree'
description = '''\
<p><code>memberBT(X, T)</code>: <code>X</code> is an element of the binary tree <code>T</code>. A binary tree node is represented with the structure <code>b(L, E, R)</code>, where <code>L</code> and <code>R</code> are left and right subtrees, respectively, and <code>E</code> is the node's value. An empty tree is denoted by <code>nil</code>.</p>
<pre>
- ?- memberBT(X, b(b(nil,2,nil),1,b(nil,3,nil))).
- X = 1 ;
- X = 2 ;
- X = 3.
+?- memberBT(X, b(b(nil,2,nil),1,b(nil,3,nil))).
+ X = 1 ;
+ X = 2 ;
+ X = 3.
</pre>'''
hint = {}
diff --git a/prolog/problems/trees/membert_2/en.py b/prolog/problems/trees/membert_2/en.py
index 738d625..ef48931 100644
--- a/prolog/problems/trees/membert_2/en.py
+++ b/prolog/problems/trees/membert_2/en.py
@@ -6,10 +6,10 @@ slug = 'find elements in a tree'
description = '''\
<p><code>memberT(X, T)</code>: <code>X</code> is an element of the tree <code>T</code>. A tree node is represented with the structure <code>t(E, T1, T2...)</code>, where <code>E</code> is the node's value, followed by any number of subtrees. An empty tree is denoted by <code>nil</code>.</p>
<pre>
- ?- memberT(X, t(3, t(1), t(2))).
- X = 3 ;
- X = 1 ;
- X = 2.
+?- memberT(X, t(3, t(1), t(2))).
+ X = 3 ;
+ X = 1 ;
+ X = 2.
</pre>'''
hint = {}
diff --git a/prolog/problems/trees/mirrorbt_2/en.py b/prolog/problems/trees/mirrorbt_2/en.py
index 85c2a54..7bc622f 100644
--- a/prolog/problems/trees/mirrorbt_2/en.py
+++ b/prolog/problems/trees/mirrorbt_2/en.py
@@ -6,8 +6,8 @@ slug = 'flip a binary tree horizontally'
description = '''\
<p><code>mirrorBT(T, NewT)</code>: the binary tree <code>NewT</code> is obtained from <code>T</code> by flipping it over the vertical axis through the root node.</p>
<pre>
- ?- mirrorBT(b(b(b(nil,4,nil),2,b(nil,5,nil)),1,b(nil,3,nil)), X).
- X = b(b(nil,3,nil), 1, b(b(nil,5,nil), 2, b(nil,4,nil))).
+?- mirrorBT(b(b(b(nil,4,nil),2,b(nil,5,nil)),1,b(nil,3,nil)), X).
+ X = b(b(nil,3,nil), 1, b(b(nil,5,nil), 2, b(nil,4,nil))).
</pre>'''
hint = {}
diff --git a/prolog/problems/trees/numberbt_2/en.py b/prolog/problems/trees/numberbt_2/en.py
index 3be193d..99dc9ca 100644
--- a/prolog/problems/trees/numberbt_2/en.py
+++ b/prolog/problems/trees/numberbt_2/en.py
@@ -6,8 +6,8 @@ slug = 'find the number of nodes in a binary tree'
description = '''\
<p><code>numberBT(T, N)</code>: <code>N</code> is the number of nodes in the binary tree <code>T</code>.</p>
<pre>
- ?- numberBT(b(b(nil,2,nil),1,b(nil,3,nil)), N).
- N = 3.
+?- numberBT(b(b(nil,2,nil),1,b(nil,3,nil)), N).
+ N = 3.
</pre>'''
hint = {}
diff --git a/prolog/problems/trees/tolistbt_2/en.py b/prolog/problems/trees/tolistbt_2/en.py
index a6d0d4b..94ba3ea 100644
--- a/prolog/problems/trees/tolistbt_2/en.py
+++ b/prolog/problems/trees/tolistbt_2/en.py
@@ -6,8 +6,8 @@ slug = 'construct a list with all elements of a binary tree'
description = '''\
<p><code>tolistBT(T, L)</code>: the list <code>L</code> contains all the elements in the binary tree <code>T</code>, in infix order.</p>
<pre>
- ?- tolistBT(b(b(nil,2,nil),1,b(nil,3,nil)), L).
- L = [2,1,3].
+?- tolistBT(b(b(nil,2,nil),1,b(nil,3,nil)), L).
+ L = [2,1,3].
</pre>'''
hint = {}