Skip to content

Instantly share code, notes, and snippets.

@yorickvP
Created April 27, 2018 00:22
Show Gist options
  • Save yorickvP/fa7971cefc2be3fd7cf82cdeffde2a3a to your computer and use it in GitHub Desktop.
Save yorickvP/fa7971cefc2be3fd7cf82cdeffde2a3a to your computer and use it in GitHub Desktop.
Success!!
Congratulations, you have finished the challenge. Below are listings of your last submitted programs.
Program 1
l1 = h1;
l2 = h2;
l3 = h3;
l4 = h4;
l5 = h5;
l6 = h6;
Program 2
if (h1) l1 = true; else l1 = false;
if (h2) l2 = true; else l2 = false;
if (h3) l3 = true; else l3 = false;
if (h4) l4 = true; else l4 = false;
if (h5) l5 = true; else l5 = false;
if (h6) l6 = true; else l6 = false;
Program 3
l1 = true;
l2 = false;
l3 = true;
l4 = false;
l5 = true;
l6 = true;
Program 4
if (h1) { skip; skip; } else skip;
if (h2) { skip; skip; skip; } else skip;
if (h3) { skip; skip; skip; skip; skip; } else skip;
if (h4) { skip; skip; skip; skip; skip; skip; skip; skip; skip;} else skip;
if (h5) { skip; skip; skip; skip; skip;skip; skip; skip; skip;skip; skip; skip; skip;skip; skip; skip; skip;} else skip;
if (h6) { skip; skip; skip; skip; skip;skip; skip; skip; skip;skip; skip; skip; skip;skip; skip; skip; skip;skip; skip; skip; skip;skip; skip; skip; skip;skip; skip; skip; skip;skip; skip; skip; skip;} else skip;
l1 = true;
l2 = false;
l3 = true;
l4 = false;
l5 = false;
l6 = true;
Program 5
l1 = declassify(h1);
h1 = h2;
l2 = declassify(h1);
h1 = h3;
l3 = declassify(h1);
h1 = h4;
l4 = declassify(h1);
h1 = h5;
l5 = declassify(h1);
h1 = h6;
l6 = declassify(h1);
Program 6
try {
l1 = true;
if (h1) throw; else skip;
l1 = false;
} catch skip;
try {
l2 = true;
if (h2) throw; else skip;
l2 = false;
} catch skip;
try {
l3 = true;
if (h3) throw; else skip;
l3 = false;
} catch skip;
try {
l4 = true;
if (h4) throw; else skip;
l4 = false;
} catch skip;
try {
l5 = true;
if (h5) throw; else skip;
l5 = false;
} catch skip;
try {
l6 = true;
if (h6) throw; else skip;
l6 = false;
} catch skip;
Program 7
let (x = h1) in l1 = x;
let (x = h2) in l2 = x;
let (x = h3) in l3 = x;
let (x = h4) in l4 = x;
let (x = h5) in l5 = x;
let (x = h6) in l6 = x;
Program 8
declare proc p(in x : low, out y : low) {
y = x;
}
if (h1) p(true, l1); else p(false, l1);
if (h2) p(true, l2); else p(false, l2);
if (h3) p(true, l3); else p(false, l3);
if (h4) p(true, l4); else p(false, l4);
if (h5) p(true, l5); else p(false, l5);
if (h6) p(true, l6); else p(false, l6);
Program 9
declare ref ha : low;
q = true;
w = false;
if (h1) ref ha = q; else ref ha = w;
l1 = deref(ha);
if (h2) ref ha = q; else ref ha = w;
l2 = deref(ha);
if (h3) ref ha = q; else ref ha = w;
l3 = deref(ha);
if (h4) ref ha = q; else ref ha = w;
l4 = deref(ha);
if (h5) ref ha = q; else ref ha = w;
l5 = deref(ha);
if (h6) ref ha = q; else ref ha = w;
l6 = deref(ha);
Program 10
declare array x : low;
x[h1] = true;
l1 = x[true];
x[h1] = false;
x[h2] = true;
l2 = x[true];
x[h2] = false;
x[h3] = true;
l3 = x[true];
x[h3] = false;
x[h4] = true;
l4 = x[true];
x[h4] = false;
x[h5] = true;
l5 = x[true];
x[h5] = false;
x[h6] = true;
l6 = x[true];
x[h6] = false;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment