Description
I’ve got another task for you involving my little language, Prop!
It consists of the following expressions (denoted
e
):
- Boolean constants, written
true
andfalse
.- Boolean variables, written as any alphabetical string.
- Implies, written
e -> e
.- Equivalence, written
e <-> e
.- Negation, written
!e
.- And, written
e && e
.- Or, written
e || e
.You can also parenthesize any expressions or subexpressions (so, you can write
(a || b) && c
). Here’s another example program:(a || b) && c && d && (!d || b) || (b -> c) && (d <-> a)
This time, I’ve determined that the attached program is satisfiable, but I want to know the actual values that make this program satisfiable. Can you find me a satisfying model, please? When you’ve found one, submit a GET request to our server. Any missing keys are considered false.
Here’s an example request:
http://problems3.2016q1.sctf.io:11420/?a=true&b=true&c=false
This request would treat
a
andb
astrue
andc
and the rest of the variables asfalse
. Thus, it’s only necessary to assign the true keys to the value true.
Continue reading [sCTF 2016] [CODE 130 – I Can’t Get No Satisfaction] Write Up