Page Menu
Home
Xreate
Search
Configure Global Search
Log In
Docs
Questions
Repository
Issues
Patches
Internal API
Files
F2731334
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sat, Mar 14, 4:37 AM
Size
17 KB
Mime Type
text/x-diff
Expires
Mon, Mar 16, 4:37 AM (1 d, 14 h)
Engine
blob
Format
Raw Data
Handle
243969
Attached To
rXR Xreate
View Options
diff --git a/problems/basket/cond.lp b/problems/basket/cond.lp
deleted file mode 100644
index 9f98097..0000000
--- a/problems/basket/cond.lp
+++ /dev/null
@@ -1,6 +0,0 @@
-person(jane). person(john).
-day(mon). day(tue). day(wed). day(thu). day(fri).
-available(jane) :- not on(fri).
-available(john) :- not on(mon), not on(wed).
-meet :- available(X) : person(X).
-on(X) : day(X) :- meet.
diff --git a/problems/basket/containers.lp b/problems/basket/containers.lp
deleted file mode 100644
index 6243fe6..0000000
--- a/problems/basket/containers.lp
+++ /dev/null
@@ -1,54 +0,0 @@
-
-implementation(hashlist). implementation(linkedlist). implementation(treelist).
-operation(at). operation(sort). operation(insert).
-relation (recommends). relation (satisfied). relation(unsupported).
-
-relation_score(satisfied, 0).
-relation_score(recommends, 1).
-relation_score(unsupported, -1).
-
-relation_op(at, hashlist, recommends). relation_op(at,treelist, satisfied).
-relation_op(sort, linkedlist, satisfied). relation_op(sort, treelist, satisfied). relation_op(sort, hashlist, unsupported).
-
-
-impl_fulfill(OP, IMPL, SCORE):- relation_op(OP, IMPL, RL), relation_score(RL, SCORE), operation(OP), implementation(IMPL), RL!=unsupported.
-impl_not_fulfill(OP, IMPL):- relation_op(OP, IMPL, unsupported).
-
-
-%static analysis:
-var(a).var(b).
-bind_var_op(a, at).
-bind_var_op(a, sort).
-bind_var_op(b, insert).
-var_connection(a, b).
-
-%* var_connection(VAR_FROM, VAR_TO, connection_type) *%
-%* var_cluster(VAR_FROM, VAR_TO) *%
-
-connection_type(ct_inherits). connection_type(ct_convert).
-
-var_connection(VAR_FROM, VAR_TO, CT):connection_type(CT) :- var_connection(VAR_FROM, VAR_TO).
-
-var_cluster_root(VAR) :- {var_connection(VAR_F, VAR, ct_inherits): var(VAR_F)} 0, var(VAR).
-var_cluster(VAR0, VAR_TO) :- var_connection(VAR0, VAR_TO, ct_inherits), var_cluster_root(VAR0).
-var_cluster(VAR0, VAR_TO2) :- var_connection(VAR_TO1, VAR_TO2, ct_inherits), var_cluster(VAR0, VAR_TO1).
-var_cluster(VAR0, VAR0):- var_cluster_root(VAR0).
-
-
-#domain implementation(IMPL).
-%#domain var(VAR).
-
-impl_fulfill_cluster(VAR0, OP, IMPL, SCORE) :- var_cluster(VAR0, VAR_ANY), bind_var_op(VAR_ANY, OP), impl_fulfill(OP, IMPL, SCORE), var_cluster_root(VAR0).
-impl_not_fulfill_cluster(VAR0, IMPL):-var_cluster(VAR0, VAR_ANY), bind_var_op(VAR_ANY, OP), impl_not_fulfill(OP, IMPL), var_cluster_root(VAR0).
-%bind_cluster_op(VAR0, OP) :- bind_var_op(VAR0, OP).
-bind_var_impl(VAR0, IMPL, SCORE_RESULT) :- SCORE_RESULT = #sum[impl_fulfill_cluster(VAR0, _, IMPL, SCORE) = SCORE], {impl_not_fulfill_cluster(VAR0, IMPL)}0, var_cluster_root(VAR0).
-%:- bind_var_impl(VAR0, IMPL, _), var_cluster(VAR0, VAR_ANY), bind_var_op(VAR_ANY, OP), impl_not_fulfill(OP, IMPL).
-
-%impl_fulfill(OP, IMPL, SCORE) : bind_var_op(VAR, OP), var(VAR), SCORE_RESULT = 0 , relation_score(_, SCORE).
-%%* *%
-
-#hide.
-#show bind_var_impl/3.
-#show var_cluster_owner/1.
-#show var_connection/3.
-#show bind_var_op/2.
diff --git a/problems/basket/dependencies.lp b/problems/basket/dependencies.lp
deleted file mode 100644
index abbe0c4..0000000
--- a/problems/basket/dependencies.lp
+++ /dev/null
@@ -1,8 +0,0 @@
-node(a; b; c; d).
-depends(b,a).
-depends(c,a).
-depends(d, a).
-depends(d, c).
-
-level(X, 0) :- not depends(X, _); node(X).
-level(X, LEVEL):- LEVEL = #max{L+1, level(Y, L): level(Y, L), depends(X, Y)}; node(X); LEVEL > 0.
diff --git a/problems/basket/example-computations.lp b/problems/basket/example-computations.lp
deleted file mode 100644
index 4cdd8a3..0000000
--- a/problems/basket/example-computations.lp
+++ /dev/null
@@ -1,49 +0,0 @@
-%defines:
- implementation(hashlist). implementation(linkedlist). implementation(treelist). implementation(computation).
- operation(at). operation(sort). operation(insert). operation(seqaccess).
- connection_type(ct_inherits). connection_type(ct_convert).
-
- relation (recommends). relation (satisfied). relation(unsupported).
- relation_score(satisfied, 0).
- relation_score(recommends, 1).
- relation_score(unsupported, -1).
-
-%integration facts:
- relation_op(seqaccess, computation, recommends).
- relation_op(at, hashlist, recommends). relation_op(at,treelist, satisfied).
- relation_op(sort, linkedlist, satisfied). relation_op(sort, treelist, satisfied). relation_op(sort, hashlist, unsupported).
-
-
-
-%static analysis:
- var(a).var(tmp2). var(b). var(tmp3).
-
- var_connection(a, tmp2).
- bind_var_op(tmp2, seqaccess).
- var_connection(tmp2, b, ct_inherits).
- var_connection(b, tmp3).
- bind_var_op(tmp3, seqaccess).
-
-%domain rules:
- impl_fulfill(OP, IMPL, SCORE):- relation_op(OP, IMPL, RL), relation_score(RL, SCORE), operation(OP), implementation(IMPL), RL!=unsupported.
- impl_not_fulfill(OP, IMPL):- relation_op(OP, IMPL, unsupported).
-
-%reasoning rules:
- { var_connection(VAR_FROM, VAR_TO, CT):connection_type(CT) }1 :- var_connection(VAR_FROM, VAR_TO).
-
- var_cluster_root(VAR) :- {var_connection(VAR_F, VAR, ct_inherits): var(VAR_F)} 0, var(VAR).
- var_cluster(VAR0, VAR_TO) :- var_connection(VAR0, VAR_TO, ct_inherits), var_cluster_root(VAR0).
- var_cluster(VAR0, VAR_TO2) :- var_connection(VAR_TO1, VAR_TO2, ct_inherits), var_cluster(VAR0, VAR_TO1).
- var_cluster(VAR0, VAR0):- var_cluster_root(VAR0).
-
- impl_fulfill_cluster(VAR0, OP, IMPL, SCORE) :- var_cluster(VAR0, VAR_ANY), bind_var_op(VAR_ANY, OP), impl_fulfill(OP, IMPL, SCORE), var_cluster_root(VAR0).
- impl_not_fulfill_cluster(VAR0, IMPL):-var_cluster(VAR0, VAR_ANY), bind_var_op(VAR_ANY, OP), impl_not_fulfill(OP, IMPL), var_cluster_root(VAR0).
- bind_var_impl(VAR0, IMPL, SCORE_RESULT) :- SCORE_RESULT = #sum[impl_fulfill_cluster(VAR0, _, IMPL, SCORE) = SCORE], {impl_not_fulfill_cluster(VAR0, IMPL)}0, var_cluster_root(VAR0), implementation(IMPL).
-
-%pretty output:
- #hide.
- #show chosen_impl/2.
- #show bind_var_impl/3.
- #show var_cluster_owner/1.
- #show var_connection/3.
- #show bind_var_op/2.
diff --git a/problems/basket/example-computations2.lp b/problems/basket/example-computations2.lp
deleted file mode 100644
index 7a54272..0000000
--- a/problems/basket/example-computations2.lp
+++ /dev/null
@@ -1,55 +0,0 @@
-%defines:
- implementation(hashlist). implementation(linkedlist). implementation(treelist). implementation(computation).
- operation(at). operation(sort). operation(insert). operation(seqaccess).
- connection_type(ct_inherits). connection_type(ct_convert).
-
- relation (recommends). relation (satisfied). relation(unsupported).
- relation_score(satisfied, 0).
- relation_score(recommends, 1).
- relation_score(unsupported, -1).
-
-%integration facts:
- relation_op(seqaccess, computation, recommends). relation_op(seqaccess, hashlist, unsupported).
- relation_op(at, hashlist, recommends). relation_op(at,treelist, satisfied).
- relation_op(sort, linkedlist, satisfied). relation_op(sort, treelist, satisfied). relation_op(sort, hashlist, unsupported).
-
-
-
-%static analysis:
- var(a).var(tmp2). var(b). var(tmp3). var(tmp4).
-
- var_connection(a, tmp2).
- bind_var_op(tmp2, seqaccess).
- var_connection(tmp2, b).
- var_connection(tmp2, b, ct_inherits).
- var_connection(b, tmp3).
- bind_var_op(tmp3, seqaccess).
- bind_var_op(tmp4, sort).
-
-%domain rules:
- impl_fulfill(OP, IMPL, SCORE):- relation_op(OP, IMPL, RL), relation_score(RL, SCORE), operation(OP), implementation(IMPL), RL!=unsupported.
- impl_not_fulfill(OP, IMPL):- relation_op(OP, IMPL, unsupported).
- impl_avail(VAR, IMPL) :- not impl_not_fulfill(OP, IMPL) : bind_var_op(VAR, OP), var(VAR), implementation(IMPL).
-
-%reasoning rules:
- 1{setup_impl(VAR, IMPL) : implementation(IMPL) }1 :- var(VAR).
- :- setup_impl(VAR, IMPL), not impl_avail(VAR, IMPL).
-
- var_connection(VAR1, VAR2, ct_convert) :- var(VAR1), var(VAR2), var_connection(VAR1, VAR2), setup_impl(VAR1, IMPL1), setup_impl(VAR2, IMPL2), IMPL1 != IMPL2.
- :- var(VAR1), var(VAE2), 2{var_connection(VAR1, VAR2, _)} .
-
- setup_var_impl_fulfill(VAR, SCORE) :- SCORE := #min[impl_fulfill(OP, IMPL, RATE): bind_var_op(VAR, OP) = RATE], var(VAR).
-
- model_score_convert(SCORE) :- SCORE := #count{var_connection(VAR1, VAR2, ct_convert): var(VAR1) : var(VAR2)}.
- model_score_impl(SCORE) :- SCORE:= [setup_var_fulfill(VAR, RATE): var(VAR) = RATE].
-
-%pretty output:
- #hide.
- #show setup_impl/2.
- #show model_score/1.
- #show setup_var_impl_fulfill/2.
- %#show var_connection/3.
- %#show bind_var_impl/3.
- %#show var_cluster_owner/1.
- %#show var_connection/3.
- %#show bind_var_op/2.
diff --git a/problems/basket/gte.lp b/problems/basket/gte.lp
deleted file mode 100644
index a9d9588..0000000
--- a/problems/basket/gte.lp
+++ /dev/null
@@ -1,3 +0,0 @@
-fact(a). fact(b). fact(8). a<10.
-
-gezero(X) :- X>=11, fact(X).
diff --git a/problems/basket/kitchen.lp b/problems/basket/kitchen.lp
deleted file mode 100644
index f9f0fc9..0000000
--- a/problems/basket/kitchen.lp
+++ /dev/null
@@ -1,13 +0,0 @@
-room(bedroom; diningroom; kitchen).
-
-%location(bedroom).
-door(bedroom, diningroom).
-door(diningroom, kitchen).
-
-{move(A, B)} :- location(A); door(A, B); room(A); room(B).
-{move(A, B)} :- move(_, A); door(A, B); room(A); room(B).
-
-goal:- location(kitchen).
-goal:- move(_, kitchen).
-
-:- not goal.
diff --git a/problems/basket/test-list.lp b/problems/basket/test-list.lp
deleted file mode 100644
index 6063a16..0000000
--- a/problems/basket/test-list.lp
+++ /dev/null
@@ -1,7 +0,0 @@
-% WORKING WITH TUPLES POSSIBILITY TESTING
-
-eqq(x, (0, 0)).
-eqq(y, (1, 1)).
-iszerosum(X, Y) :- X1 == Y1, X2 == Y2, eqq(X, (X1, X2)), eqq(Y, (Y1, Y2)).
-
-%plus(X, Y) :- eq(X, (ax, ay)), eq(Y, (bx, by)), ax + ay + bx + by.
\ No newline at end of file
diff --git a/problems/basket/test.lp b/problems/basket/test.lp
deleted file mode 100644
index 8c8a729..0000000
--- a/problems/basket/test.lp
+++ /dev/null
@@ -1,12 +0,0 @@
-% p(1..3). q(2..4).
-% { r(X): p(X), r(X): q(X) }.
-% s :- #sum { r(X)=X: p(X): q(X) } 1.
-
-%p(1..50).
-%count(X, Y):- Y = #sum {Z, Z: p(Z), Z >= X}, p(X).
-
-p(1..3).
-2 {q(X) : p(X)}.
-q(2).
-:- not q(3).
-:~ p(X), not q(X).[X]
\ No newline at end of file
diff --git a/problems/basket/timetable-tests.lp b/problems/basket/timetable-tests.lp
deleted file mode 100644
index 32dcea6..0000000
--- a/problems/basket/timetable-tests.lp
+++ /dev/null
@@ -1,54 +0,0 @@
-man(brian; joe; chris; bob).
-professor(brian; joe).
-phd(chris).
-asisstant(bob).
-
-lesson(1..10).
-day(1..5).
-week(even; odd).
-
-course(a;b;c;d;e;f;j;h;k;l;m;n).
-
-time(a, 10).
-time(b, 12).
-time(c, 20).
-time(d, 3).
-time(e, 17).
-time(f, 15).
-time(j, 9).
-time(h, 7).
-time(k, 11).
-time(l, 14).
-time(m, 8).
-time(n, 17).
-
-room(402; 403; 404).
-
-course_room(a, 402).
-course_room(c, 404).
-course_room(d, 403).
-course_room(d, 404).
-
-% ---- timetable(Teacher, Course, Lesson, Room, Day, Week)
-
-
-
- timetable(brian, a, 1, 402, 1, even).
- timetable(brian, a, 3, 402, 1, even).
- timetable(brian, a, 4, 402, 1, even).
-
- owl(joe) % no first lesson
- :- owl(T); timetable(T, _, 1,_, _, _).
-
-earlybird(bob).
-earlybird_score(T, Score) :- Score = #count {timetable(T, C, 1, R, D, W): course(C), room(R), day(D), week(W)}; earlybird(T) .
-earlybird_score(Score) :- Score = #sum{Score2, 1: earlybird_score(T, Score2)}.
-:- earlybird_score(X); X<2.
-
-
-courseDuration(C, Span) :- Span = #count{(T, C, L, R, D, W):timetable(T, C, L, R, D, W), man(T), room(R), day(D), week(W), lesson(L)};course(C).
-
-
-
-
-#show courseDuration/2.
\ No newline at end of file
diff --git a/problems/basket/timetable.lp b/problems/basket/timetable.lp
deleted file mode 100644
index 7b0b924..0000000
--- a/problems/basket/timetable.lp
+++ /dev/null
@@ -1,73 +0,0 @@
-man(brian; joe; chris; bob).
-professor(brian; joe).
-phd(chris).
-asisstant(bob).
-
-lesson(1..10).
-day(1..5).
-week(even; odd).
-
-course(a;b;c;d;e;f;j;h;k;l;m;n).
-
-time(a, 10).
-time(b, 12).
-time(c, 20).
-time(d, 3).
-time(e, 17).
-time(f, 15).
-time(j, 9).
-time(h, 7).
-time(k, 11).
-time(l, 14).
-time(m, 8).
-time(n, 17).
-
-room(402; 403; 404).
-
-course_room(a, 402).
-course_room(c, 404).
-course_room(d, 403).
-course_room(d, 404).
-
-% ---- timetable(Teacher, Course, Lesson, Room, Day, Week)
-
- {timetable(T, C, L, R, D, W) : lesson(L), room(R), course_assignment(T, C)} 4 :- man(T) ; day(D); week(W) .
- :- timetable(T, C1, L, _, D, W); timetable(T, C2, L, _, D, W); C1 != C2.
- :- timetable(T, _, L, R1, D, W); timetable(T, _, L, R2, D, W); R1 != R2.
- :- timetable(T1, _, L, R, D, W); timetable(T2, _, L, R, D, W); T1 != T2.
-
- courseDuration(C, Span) :- Span = #count{(T, C, L, R, D, W):timetable(T, C, L, R, D, W), man(T), room(R), day(D), week(W), lesson(L)};course(C).
- :- courseDuration(C, Dur); time(C, Time); Dur > Time + 10; course(C).
- :- courseDuration(C, Dur); time(C, Time); Dur < Time - 10; course(C).
-
- %COURSE ASSIGNMENT
-1{course_assignment(T, C): man(T)}1 :- course(C).
-
- % FIRST LESSONS ATTENDANCE, EARLY BIRDS, OWLS
-owl(joe) % no first lesson
-:- owl(T); timetable(T, _, 1,_, _, _).
-
-earlybird(bob).
-earlybird_score(T, Score) :- Score = #count {timetable(T, C, 1, R, D, W): course(C), room(R), day(D), week(W)}; earlybird(T) .
-earlybird_score(Score) :- Score = #sum{Score2, 1: earlybird_score(T, Score2)}.
-
- % CONSEQUENT LESSONS REQUIREMENTS
-noholes(brian; joe). % consequent lessons
-maxlesson(T, D, W, Max) :- Max = #max{L, 1: timetable(T, C, L, R, D, W), course(C), lesson(L), room(R)};day(D); week(W); noholes(T); timetable(T,_,_,_,D,W).
-minlesson(T, D, W, Min) :- Min = #min{L, 1:timetable(T, C, L, R, D, W), course(C), lesson(L), room(R)};day(D); week(W); noholes(T);timetable(T,_,_,_,D,W).
-numlessons(T, D, W, Nu) :- Nu = #count{L:timetable(T, C, L, R, D, W), course(C), lesson(L), room(R)};day(D); week(W); noholes(T);timetable(T,_,_,_,D,W).
-noholes_score_neg(T, D, W, Score) :- Score = (1 + M1 - M2 - Num); maxlesson(T, D, W, M1); minlesson(T, D, W, M2); numlessons(T, D, W, Num); day(D); week(W); noholes(T).
-
- %ATTENDANCE
-%scheme: attends(Man, Day, Week).
-attends(chris, 1, even). % days he can attend
-%:-timetable(T, _, _, _, D, W); not attends(T, D, W).
-
-
-%spike(brian; bob). %spike load all in one day
-%steady(chris). % load the same in all days
-
-
-%order(e, k).
-%order(a, n).
-#show timetable/6.
\ No newline at end of file
diff --git a/problems/code-bugs.lp b/problems/code-bugs.lp
deleted file mode 100644
index a90de4f..0000000
--- a/problems/code-bugs.lp
+++ /dev/null
@@ -1,12 +0,0 @@
-tag(fun1, bug(1)).
-tag(fun2, bug(2)).
-
-
-call(fun1, fun2).
-
-
-warning(X, Y, no):- call(X, Y), tag(Y, bug(Z)), not tag(X, bug(Z)), no=Z.
-%:- call(X, Y), tag(Y, bug(Z)), not tag(X, bug(Z)).
-
-
-%#show warning/3.
\ No newline at end of file
diff --git a/problems/code-containers-impl.lp b/problems/code-containers-impl.lp
deleted file mode 100644
index fb5941d..0000000
--- a/problems/code-containers-impl.lp
+++ /dev/null
@@ -1,50 +0,0 @@
-%defines
- impl(llvm_array; llvm_const_array; on_the_fly).
- op(seqaccess). op(randaccess).
-
- relation(recommends; satisfied; unsupported).
- relation_score(satisfied, 0).
- relation_score(recommends, 1).
- relation_score(unsupported, -1).
- score(-1..1).
-
-%domain facts:
- relation_op(seqaccess, on_the_fly, recommends).
- relation_op(randaccess, llvm_const_array, recommends).
- relation_op(randaccess, on_the_fly, unsupported).
-
-%dfa analysis:
- dfa_connection((5,0),(4,0),strong).
- v((5,0)). %c c = b : [num];
- v((3,0)). %a2 a2 = [1 .. 100] : [num];
- v((4,0)). %b b = loop map (a1 -> el: num) : [num]
- v((2,0)). %a1 a1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] : [num];
-
-%compilation:
- bind((5,0), op(randaccess)).
- bind((4,0),impl(llvm_array)).
- bind((3,0),impl(on_the_fly)).
- bind((3,0),op(seqaccess)).
- bind((2,0),op(seqaccess)).
- bind((2,0),impl(llvm_const_array)).
-
-%domain rules:
- -impl_fulfill(OP, IMPL) :- relation_op(OP, IMPL, unsupported).
- impl_fulfill(OP, IMPL, SCORE):- SCORE = #sum{SCORE1, (OP, IMPL, RL): relation_op(OP, IMPL, RL),relation_score(RL, SCORE1)}
- ; op(OP); impl(IMPL); not -impl_fulfill(OP, IMPL).
-
- cluster_root(VAR) :- not dfa_connection(VAR, _, strong), v(VAR).
- var_cluster(VAR0, VAR_TO) :- dfa_connection(VAR_TO, VAR0, strong), cluster_root(VAR0).
- var_cluster(VAR0, VAR_TO2) :- dfa_connection(VAR_TO2, VAR_TO1, strong), var_cluster(VAR0, VAR_TO1).
- var_cluster(VAR0, VAR0):- cluster_root(VAR0).
-
- -impl_fulfill_cluster(Var0, Impl) :- var_cluster(Var0, Var_Any); bind(Var_Any, op(Op)); -impl_fulfill(Op, Impl).
- impl_fulfill_cluster(VAR0, IMPL, Score) :-
- Score = #sum{SCORE, (OP, IMPL, VAR_ANY): impl_fulfill(OP, IMPL, SCORE), var_cluster(VAR0, VAR_ANY), bind(VAR_ANY, op(OP))}
- ; bind(VAR0, impl(IMPL)); cluster_root(VAR0); not -impl_fulfill_cluster(VAR0, IMPL).
-
-%optimization:
-% #maximize {SCORE, (VAR0, IMPL) : impl_fulfill_cluster(VAR0, IMPL, SCORE)}.
-
-#show var_cluster/2.
-#show impl_fulfill_cluster/3.
\ No newline at end of file
diff --git a/problems/unsafe-code.lp b/problems/unsafe-code.lp
deleted file mode 100644
index 82d0b44..0000000
--- a/problems/unsafe-code.lp
+++ /dev/null
@@ -1,10 +0,0 @@
-%Static analysis: CFG
-function(testfunc3) .
-function(testfunc2) .
-call(testfunc2, testfunc3) .
-
-%Function tags:
-tag(testfunc3, unsafe).
-%tag(testfunc2, unsafe).
-
-:- call(X, Y), tag(Y, unsafe), not tag(X, unsafe), function(X), function(Y).
\ No newline at end of file
Event Timeline
Log In to Comment