I have a user A and a user B. They do not trust each other. So, they run the following smart contract:
User A specify a time locked deposit of x coins to user B under a predefined condition( For example: revealing the correct solution of a function ∅(i))
If the user B within a specific time T sends a valid solution, so User B gets the deposit.
Otherwise, if the user B does not sent any correct solution or misbehave by sending non valid solution. Then, User B get fined with x coins that goes to user A.