(*i Lemma MapGet_M2_bit_0_1' : (m,m',m'',m''':Map) (a:ad) (MapGet (if (Nbit0 a) then (M2 m m') else (M2 m'' m''')) a)= (MapGet (if (Nbit0 a) then m' else m'') (Ndiv2 a)). i*)

Lemma MapPut1_semantics_3 :
forall (p:positive) (a a' a0:ad) (y y':A),
Nxor a a' = Npos p ->
Neqb a a0 = false ->
Neqb a' a0 = false -> MapGet (MapPut1 a y a' y' p) a0 = None.