I’ve got another task for you involving my little language, Prop!
It consists of the following expressions (denoted e
):
- Boolean constants, written
true
and false
.
- 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
and b
as true
and c
and the rest of the variables as false
. Thus, it’s only necessary to assign the true keys to the value true.