Purpose of Assignment:

To help you understand …

- natural deduction rules for propositional logic
- how to apply the rules for proving validity of sequents
- some properties of propositional logic connectives and how they can be proven using natural deduction

We have created some automated grading tools to speed the grading of homeworks. To apply those tools, we need to make sure that each student uses a consistent naming for all their solutions file. Therefore, we have created an IntelliJ project with template files for your solution. DON’T CHANGE THE NAME OF ANY OF THE FILES that we give you.

# Hints:

If you get stuck in a proof, take a look at the tactics given in the lecture slides associated with the operators involved in the formulae.

Typically, you’ll introduce from the inside-out and eliminate from the outside-in

# Getting started

You can find examples of completed Logika propositional proofs in the Logika example repository (included in the class examples that you downloaded (as illustrated in the “Step #2” videos). Here is a direct link to the predicate logic proofs portion of those examples:https://github.com/sireum/v3-logika-examples/tree/release/src/predicate

# Considerations

- All files must run in the Sireum IVE
- “Proof” means “a Logika 2 column proof”. And “Prove” means “provide a proof”
- To receive any points a problem must:

- be a Logika Propositional Proof
- contain the correct logical sequent

- Partial credit may be received if the proof is not finished.
- Correctly proven claims that do not progress the proof will not impact your grade
- Each provable sequent can be proven in at most 25 steps.
- Point values are proportional to difficulty.

# Using PBC

Proof by contradiction, like any other rule, can be used to justify claims. Subproofs can be confusing or require additional work. Therefore, PBC should be avoided if possible. When trying to prove a claim, there is a simple test on whether PBC should be used to prove the claim. Only in these cases should PBC be used:

- The claim is just an atom i.e. p(x), or q
- The top level of the claim is or i.e. (p->q) V r
- The top level of the claim is the existential quantifier i.e. ∃ x p(x)

However sometimes, these can be justified without PBC. Sometimes these *can* be done directly. In any other case, there is a direct approach to build the claim using the previously justified claims.

# Problems

- (4 points) ∀ x ∀ y p(x, y) ⊢ ∀ y ∀ x p(x, y)
- (5 points) ∃ x ∃ y p(x, y) ⊢ ∃ y ∃ x p(x, y)
- (4 points) ¬(p → q) ⊢ p ∧ ¬q
- (5 points) ¬∃ x p(x) ⊢ ∀ x ¬p(x)If you have not read the above note on “Using PBC”, you should do so now.
- (6 points) ¬∀ x p(x) ⊢ ∃ x ¬p(x)
- (6 points) ¬∀ x p(x) → q(x) ⊢ ∃ x p(x) ∧ ¬q(x)

## Reviews

There are no reviews yet.