As per Dekker and Peterson , we can work with both with flag[] and turn both variables.
Now, 2 process wants to enter critical section. Initially turn=0.
Now, say process[0] wants to enter critical section first. It makes flag value=0. But it is only can go in critical section when turn=1 and flag=1. So ,flag[0] and flag[1] both are active at the same time. Means both process can enter critical section at the same time.
-----------------------------------------------------------------------------------------------------------------------------------
Now, here ME not not satisfied, as both process are active in single turn, means both can enter C.S. at the same time.
flag[id] = true;//here flag[0] can enter C.S.
while(turn != id) {
while(flag[1-id]);//here flg[1] also actively go in C.S.
turn = id;
Now, it is not a strict alteration. And flag is not a bound for a process to enter into C.S. next. So, Progress will satisfy.
Bounded waiting- Here the process[0] and process[1] has no bound for entering C.S. next. Both are active at the same time. So, Bounded waiting not satisfied here.
So, option 1) and 3) are false