Introduction
I've been developing interest in complexity classes and thought I was unable to prove my problem is NP hard, so I wanted to see if it was P-hard. I wanted to see if my puzzle solving is special. I have linked a previous question of mine to help clarify what is mentioned below. Explained here
Random Instance of 2-SAT used for attempt reduction
I took an instance of my problem X
Let's say my problem X is determining if a puzzle is valid for my language
(a∨¬b)∧(¬a∨b)∧(¬a∨¬b)∧(a∨¬c)
Instance of X
a = shift(L) puzzle
¬ a = invalid puzzle
¬b = invalid puzzle
b = shift(L) puzzle
Reduction into Shorter Instance
(a∨¬b)∧(¬a∨b)
This boolean expression is only checking for 2-sat. Being True (valid puzzle) or False (invalid puzzle).
My idea is that a deterministic machine will consider n^2 x n^2 puzzles as invalid if the lower right-hand box is not filled. My puzzles are solved in quadratic time when provided a puzzle with this n x n box. Any other puzzle will simply fail to be solved if it does not follow my language. I have used an algorithm that can determine in poly-time that those failed puzzles are invalid puzzles. Because, the solver will not know it as an invalid puzzle. So it will try to map it out in my language thus giving an invalid puzzle.
Question
I have the algorithm and proven that it works in poly-time, the problem is that I only know how to prove it by showing the algorithm. I just don't know how to write it out mathematically. How would I properly do this?