forked from GitHub/gf-core
Add more tests to Params5 which cause it to fail again
Originally found in PhrasebookFre
This commit is contained in:
@@ -16,4 +16,7 @@ abstract Params5 = {
|
||||
showP : P_ -> S ;
|
||||
showPQ : P_ -> Q_ -> S ;
|
||||
showQP : Q_ -> P_ -> S ;
|
||||
|
||||
showPQnested : P_ -> Q_ -> S ;
|
||||
showPPQ : P_ -> Q_ -> S ;
|
||||
}
|
||||
|
||||
@@ -81,3 +81,75 @@ Params5Cnc: QR R2 ; PQ (QR R1)
|
||||
|
||||
Params5: showQP (qr r2) (pq (qr r2))
|
||||
Params5Cnc: QR R2 ; PQ (QR R2)
|
||||
|
||||
Params5: showPQnested p1 q1
|
||||
Params5Cnc: P1 ; Q1
|
||||
|
||||
Params5: showPQnested p1 (qr r1)
|
||||
Params5Cnc: P1 ; QR R1
|
||||
|
||||
Params5: showPQnested p1 (qr r2)
|
||||
Params5Cnc: P1 ; QR R2
|
||||
|
||||
Params5: showPQnested (pq q1) q1
|
||||
Params5Cnc: PQ Q1 ; Q1
|
||||
|
||||
Params5: showPQnested (pq q1) (qr r1)
|
||||
Params5Cnc: PQ Q1 ; QR R1
|
||||
|
||||
Params5: showPQnested (pq q1) (qr r2)
|
||||
Params5Cnc: PQ Q1 ; QR R2
|
||||
|
||||
Params5: showPQnested (pq (qr r1)) q1
|
||||
Params5Cnc: PQ (QR R1) ; Q1
|
||||
|
||||
Params5: showPQnested (pq (qr r1)) (qr r1)
|
||||
Params5Cnc: PQ (QR R1) ; QR R1
|
||||
|
||||
Params5: showPQnested (pq (qr r1)) (qr r2)
|
||||
Params5Cnc: PQ (QR R1) ; QR R2
|
||||
|
||||
Params5: showPQnested (pq (qr r2)) q1
|
||||
Params5Cnc: PQ (QR R2) ; Q1
|
||||
|
||||
Params5: showPQnested (pq (qr r2)) (qr r1)
|
||||
Params5Cnc: PQ (QR R2) ; QR R1
|
||||
|
||||
Params5: showPQnested (pq (qr r2)) (qr r2)
|
||||
Params5Cnc: PQ (QR R2) ; QR R2
|
||||
|
||||
Params5: showPPQ p1 q1
|
||||
Params5Cnc: P1 ; Q1
|
||||
|
||||
Params5: showPPQ p1 (qr r1)
|
||||
Params5Cnc: P1 ; QR R1
|
||||
|
||||
Params5: showPPQ p1 (qr r2)
|
||||
Params5Cnc: P1 ; QR R2
|
||||
|
||||
Params5: showPPQ (pq q1) q1
|
||||
Params5Cnc: PQ Q1 ; Q1
|
||||
|
||||
Params5: showPPQ (pq q1) (qr r1)
|
||||
Params5Cnc: PQ Q1 ; QR R1
|
||||
|
||||
Params5: showPPQ (pq q1) (qr r2)
|
||||
Params5Cnc: PQ Q1 ; QR R2
|
||||
|
||||
Params5: showPPQ (pq (qr r1)) q1
|
||||
Params5Cnc: PQ (QR R1) ; Q1
|
||||
|
||||
Params5: showPPQ (pq (qr r1)) (qr r1)
|
||||
Params5Cnc: PQ (QR R1) ; QR R1
|
||||
|
||||
Params5: showPPQ (pq (qr r1)) (qr r2)
|
||||
Params5Cnc: PQ (QR R1) ; QR R2
|
||||
|
||||
Params5: showPPQ (pq (qr r2)) q1
|
||||
Params5Cnc: PQ (QR R2) ; Q1
|
||||
|
||||
Params5: showPPQ (pq (qr r2)) (qr r1)
|
||||
Params5Cnc: PQ (QR R2) ; QR R1
|
||||
|
||||
Params5: showPPQ (pq (qr r2)) (qr r2)
|
||||
Params5Cnc: PQ (QR R2) ; QR R2
|
||||
|
||||
@@ -23,6 +23,9 @@ concrete Params5Cnc of Params5 = {
|
||||
showPQ p q = tblPQRec ! { p = p ; q = q } ;
|
||||
showQP q p = tblQPRec ! { q = q ; p = p } ;
|
||||
|
||||
showPQnested p q = tblPtblQRec ! { p = p } ! { q = q } ;
|
||||
showPPQ p q = tblPPQRec ! { pp = {p = p} ; q = q } ;
|
||||
|
||||
oper
|
||||
tblP : P => Str ;
|
||||
tblP = table {
|
||||
@@ -50,7 +53,7 @@ concrete Params5Cnc of Params5 = {
|
||||
{q=QR R2 ; p=PQ (QR R2)} => "QR R2 ; PQ (QR R2)"
|
||||
} ;
|
||||
|
||||
tblPQRec : {p:P ; q:Q} => Str ;
|
||||
tblPQRec : {p:P ; q:Q} => Str ;
|
||||
tblPQRec = table {
|
||||
{p=P1 ; q=Q1} => "P1 ; Q1";
|
||||
{p=P1 ; q=QR R1} => "P1 ; QR R1";
|
||||
@@ -69,4 +72,51 @@ concrete Params5Cnc of Params5 = {
|
||||
{p=PQ (QR R2) ; q=QR R2} => "PQ (QR R2) ; QR R2"
|
||||
} ;
|
||||
|
||||
tblPtblQRec : {p:P} => {q:Q} => Str ;
|
||||
tblPtblQRec = table {
|
||||
{p=P1} => table {
|
||||
{q=Q1} => "P1 ; Q1";
|
||||
{q=QR R1} => "P1 ; QR R1";
|
||||
{q=QR R2} => "P1 ; QR R2"
|
||||
};
|
||||
|
||||
{p=PQ Q1} => table {
|
||||
{q=Q1} => "PQ Q1 ; Q1";
|
||||
{q=QR R1} => "PQ Q1 ; QR R1";
|
||||
{q=QR R2} => "PQ Q1 ; QR R2"
|
||||
};
|
||||
|
||||
{p=PQ (QR R1)} => table {
|
||||
{q=Q1} => "PQ (QR R1) ; Q1";
|
||||
{q=QR R1} => "PQ (QR R1) ; QR R1";
|
||||
{q=QR R2} => "PQ (QR R1) ; QR R2"
|
||||
};
|
||||
|
||||
{p=PQ (QR R2)} => table {
|
||||
{q=Q1} => "PQ (QR R2) ; Q1";
|
||||
{q=QR R1} => "PQ (QR R2) ; QR R1";
|
||||
{q=QR R2} => "PQ (QR R2) ; QR R2"
|
||||
}
|
||||
} ;
|
||||
|
||||
tblPPQRec : {pp: {p:P} ; q:Q} => Str ;
|
||||
tblPPQRec = table {
|
||||
{pp={p=P1} ; q=Q1} => "P1 ; Q1";
|
||||
{pp={p=P1} ; q=QR R1} => "P1 ; QR R1";
|
||||
{pp={p=P1} ; q=QR R2} => "P1 ; QR R2";
|
||||
|
||||
{pp={p=PQ Q1} ; q=Q1} => "PQ Q1 ; Q1";
|
||||
{pp={p=PQ Q1} ; q=QR R1} => "PQ Q1 ; QR R1";
|
||||
{pp={p=PQ Q1} ; q=QR R2} => "PQ Q1 ; QR R2";
|
||||
|
||||
{pp={p=PQ (QR R1)} ; q=Q1} => "PQ (QR R1) ; Q1";
|
||||
{pp={p=PQ (QR R1)} ; q=QR R1} => "PQ (QR R1) ; QR R1";
|
||||
{pp={p=PQ (QR R1)} ; q=QR R2} => "PQ (QR R1) ; QR R2";
|
||||
|
||||
{pp={p=PQ (QR R2)} ; q=Q1} => "PQ (QR R2) ; Q1";
|
||||
{pp={p=PQ (QR R2)} ; q=QR R1} => "PQ (QR R2) ; QR R1";
|
||||
{pp={p=PQ (QR R2)} ; q=QR R2} => "PQ (QR R2) ; QR R2"
|
||||
} ;
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user