**deps returned do not have to agree if each reported is reported by at least *f* respondents**.
For example, we can recover *D* at *f=2* after just fast path even w/ two failures:
1. One failure leaves at least one replica that reported the dep, so it will be seen afterwards. This takes us to *f-1*.
1. The other failure must be the coordinator, as no need to recover if coordinator doesn't go down. The coordinator appends any deps it knows initially to messages in the collect phase. Therefore, if the coordinator was one of the *f* that reported a specific dependency, the other particplants of the collect phase will know about it. This takes us to *f-2*.
## Recovery
Background:
## Examples
*U<sub>Q</sub>dep = U(f)<sub>Q</sub>dep* (line 15 in protocol)

How to distinguish 2a from this if (1) and (4) die?
Easy to see that recovery of fast path dep proposal can be recovered
after coordinator and one other die, but how to tell whether the fast
path was to be taken?
How to distinguish 2a from this version:
- "2" didn't report "c", so we should not take fast path
- assume (1) and (4) die

Come back to this.
## Recovery

## Recovery, continued
Recovery quorum bigger (*n-f*, including sender) to compensate for smaller Consensus quorum (*f+1*)
**Property 2:***Any fast-path proposal can be obtained by taking the union of the dependencies sent in MCOLLECTAck by at least***floor(n/2)***fast-quorum processes that are not the iniital coordinator*.
### How to recover *D* at *f=2* after just fast path w/ two failures?
1. One failure leaves at least one replica that reported the dep, so it will be seen afterwards.
1. If the other failure is the coordinator, we can recover because coordinator appends any deps it knows to MCOLLECT messages. Therefore, if the coordinator was one of the *f* that reported a specific dependency, the other particplants of the collect phase will know about it.
1. Analogous for other *f*.
Recovery states:
- at least one non-failed replica has a commit: sends to all others
- none
### What if the two failures
*The initial coordinator of a command can avoid consensus when it can ensure that any process performing recovery will propose the same set of dependencies to consensus.*

### When do they die?
- if coordinator dies after sending a commit that is received elsewhere