@@ -564,8 +564,8 @@ func (d *DataPlane) getInterfaceState(interfaceID uint16) control.InterfaceState
564564 // @ defer fold acc(accBfdSession(d.bfdSessions), R20)
565565 // @ }
566566 if bfdSession , ok := bfdSessions [interfaceID ]; ok {
567- // @ assert interfaceID in domain(d.bfdSessions)
568- // @ assert bfdSession in range(d.bfdSessions)
567+ // @ assert interfaceID elem domain(d.bfdSessions)
568+ // @ assert bfdSession elem range(d.bfdSessions)
569569 // @ assert bfdSession != nil
570570 // (VerifiedSCION) This checked used to be conjoined with 'ok' in the condition
571571 // of the if stmt above. We broke it down to perform intermediate asserts.
@@ -835,12 +835,12 @@ func (d *DataPlane) Run(ctx context.Context /*@, ghost place io.Place, ghost sta
835835 // dPtr as an helper parameter. It always receives the value &d.
836836 // @ requires acc(dPtr, _)
837837 // @ requires let d := *dPtr in
838- // @ acc(d.Mem(), _) &&
839- // @ d.WellConfigured() &&
840- // @ d.getValSvc() != nil &&
841- // @ d.getValForwardingMetrics() != nil &&
842- // @ (0 in d.getDomForwardingMetrics()) &&
843- // @ (ingressID in d.getDomForwardingMetrics()) &&
838+ // @ acc(d.Mem(), _) &&
839+ // @ d.WellConfigured() &&
840+ // @ d.getValSvc() != nil &&
841+ // @ d.getValForwardingMetrics() != nil &&
842+ // @ (0 elem d.getDomForwardingMetrics()) &&
843+ // @ (ingressID elem d.getDomForwardingMetrics()) &&
844844 // @ d.getMacFactory() != nil
845845 // @ requires rd != nil && acc(rd.Mem(), _)
846846 // contracts for IO-spec
@@ -919,8 +919,8 @@ func (d *DataPlane) Run(ctx context.Context /*@, ghost place io.Place, ghost sta
919919 // @ invariant acc(d.Mem(), _) && d.WellConfigured()
920920 // @ invariant d.getValSvc() != nil
921921 // @ invariant d.getValForwardingMetrics() != nil
922- // @ invariant 0 in d.getDomForwardingMetrics()
923- // @ invariant ingressID in d.getDomForwardingMetrics()
922+ // @ invariant 0 elem d.getDomForwardingMetrics()
923+ // @ invariant ingressID elem d.getDomForwardingMetrics()
924924 // @ invariant acc(rd.Mem(), _)
925925 // @ invariant processor.sInit() && processor.sInitD() === d
926926 // @ invariant let ubuf := processor.sInitBufferUBuf() in
@@ -991,8 +991,8 @@ func (d *DataPlane) Run(ctx context.Context /*@, ghost place io.Place, ghost sta
991991 // @ invariant acc(d.Mem(), _) && d.WellConfigured()
992992 // @ invariant d.getValSvc() != nil
993993 // @ invariant d.getValForwardingMetrics() != nil
994- // @ invariant 0 in d.getDomForwardingMetrics()
995- // @ invariant ingressID in d.getDomForwardingMetrics()
994+ // @ invariant 0 elem d.getDomForwardingMetrics()
995+ // @ invariant ingressID elem d.getDomForwardingMetrics()
996996 // @ invariant acc(rd.Mem(), _)
997997 // @ invariant pkts <= len(msgs)
998998 // @ invariant 0 <= i0 && i0 <= pkts
@@ -1147,7 +1147,7 @@ func (d *DataPlane) Run(ctx context.Context /*@, ghost place io.Place, ghost sta
11471147 // @ ghost t, s := *ioSharedArg.Place, *ioSharedArg.State
11481148 // @ ghost if(newAbsPkt.isValPkt) {
11491149 // @ ApplyElemWitness(s.obuf, ioSharedArg.OBufY, newAbsPkt.ValPkt_1, newAbsPkt.ValPkt_2)
1150- // @ assert newAbsPkt.ValPkt_2 in AsSet(s.obuf[newAbsPkt.ValPkt_1])
1150+ // @ assert newAbsPkt.ValPkt_2 elem AsSet(s.obuf[newAbsPkt.ValPkt_1])
11511151 // @ assert dp.dp3s_iospec_bio3s_send_guard(s, t, newAbsPkt)
11521152 // @ } else { assert newAbsPkt.isValUnsupported }
11531153 // @ unfold dp.dp3s_iospec_ordered(s, t)
@@ -1188,7 +1188,7 @@ func (d *DataPlane) Run(ctx context.Context /*@, ghost place io.Place, ghost sta
11881188 }
11891189 // @ requires acc(dPtr, _) && *dPtr === d
11901190 // @ requires acc(d.Mem(), _)
1191- // @ requires result.EgressID in d.getDomForwardingMetrics()
1191+ // @ requires result.EgressID elem d.getDomForwardingMetrics()
11921192 // @ decreases
11931193 // @ outline(
11941194 // ok metric
@@ -1208,7 +1208,7 @@ func (d *DataPlane) Run(ctx context.Context /*@, ghost place io.Place, ghost sta
12081208 }
12091209 // @ unfold acc(d.Mem(), R1)
12101210 // @ assert d.WellConfigured()
1211- // @ assert 0 in d.getDomForwardingMetrics()
1211+ // @ assert 0 elem d.getDomForwardingMetrics()
12121212 // @ ghost if d.bfdSessions != nil { unfold acc(accBfdSession(d.bfdSessions), R2) }
12131213
12141214 // (VerifiedSCION) we introduce this to avoid problems with the invariants that
@@ -1257,7 +1257,7 @@ func (d *DataPlane) Run(ctx context.Context /*@, ghost place io.Place, ghost sta
12571257 // @ invariant acc(d.Mem(), _) && d.WellConfigured()
12581258 // @ invariant d.getValSvc() != nil
12591259 // @ invariant d.getValForwardingMetrics() != nil
1260- // @ invariant 0 in d.getDomForwardingMetrics()
1260+ // @ invariant 0 elem d.getDomForwardingMetrics()
12611261 // @ invariant d.getMacFactory() != nil
12621262 // @ invariant dp.Valid()
12631263 // @ invariant d.DpAgreesWithSpec(dp)
@@ -1271,8 +1271,8 @@ func (d *DataPlane) Run(ctx context.Context /*@, ghost place io.Place, ghost sta
12711271 // @ requires acc(d.Mem(), _) && d.WellConfigured()
12721272 // @ requires d.getValSvc() != nil
12731273 // @ requires d.getValForwardingMetrics() != nil
1274- // @ requires 0 in d.getDomForwardingMetrics()
1275- // @ requires i in d.getDomForwardingMetrics()
1274+ // @ requires 0 elem d.getDomForwardingMetrics()
1275+ // @ requires i elem d.getDomForwardingMetrics()
12761276 // @ requires d.getMacFactory() != nil
12771277 // @ requires c != nil && acc(c.Mem(), _)
12781278 // contracts for IO-spec
@@ -1285,7 +1285,7 @@ func (d *DataPlane) Run(ctx context.Context /*@, ghost place io.Place, ghost sta
12851285 read (i , c , & d /*@, ioLock, ioSharedArg, dp @*/ ) //@ as rc
12861286 }
12871287 // @ ghost if d.external != nil { unfold acc(accBatchConn(d.external), R50) }
1288- // @ assert v in range(d.external)
1288+ // @ assert v elem range(d.external)
12891289 // @ assert acc(v.Mem(), _)
12901290 // @ d.InDomainExternalInForwardingMetrics3(ifID)
12911291 // @ ghost if d.external != nil { fold acc(accBatchConn(d.external), R50) }
@@ -1297,7 +1297,7 @@ func (d *DataPlane) Run(ctx context.Context /*@, ghost place io.Place, ghost sta
12971297 // @ requires acc(d.Mem(), _) && d.WellConfigured()
12981298 // @ requires d.getValSvc() != nil
12991299 // @ requires d.getValForwardingMetrics() != nil
1300- // @ requires 0 in d.getDomForwardingMetrics()
1300+ // @ requires 0 elem d.getDomForwardingMetrics()
13011301 // @ requires d.getMacFactory() != nil
13021302 // @ requires c != nil && acc(c.Mem(), _)
13031303 // contracts for IO-spec
@@ -1334,7 +1334,7 @@ func (d *DataPlane) Run(ctx context.Context /*@, ghost place io.Place, ghost sta
13341334// @ ensures d.Mem()
13351335// @ ensures d.MetricsAreSet()
13361336// @ ensures d.WellConfigured()
1337- // @ ensures 0 in d.DomainForwardingMetrics()
1337+ // @ ensures 0 elem d.DomainForwardingMetrics()
13381338// @ ensures d.InternalConnIsSet()
13391339// @ ensures d.KeyIsSet()
13401340// @ ensures d.SvcsAreSet()
@@ -1386,14 +1386,14 @@ func (d *DataPlane) initMetrics( /*@ ghost dp io.DataPlaneSpec @*/ ) {
13861386 // @ invariant d.external === dExternal
13871387 // @ invariant acc(&d.forwardingMetrics) && acc(d.forwardingMetrics)
13881388 // @ invariant domain(d.forwardingMetrics) == set[uint16]{0} union visitedSet
1389- // @ invariant 0 in domain(d.forwardingMetrics)
1389+ // @ invariant 0 elem domain(d.forwardingMetrics)
13901390 // @ invariant acc(&d.internalNextHops, R15)
13911391 // @ invariant d.internalNextHops === dInternalNextHops
13921392 // @ invariant d.internalNextHops != nil ==> acc(d.internalNextHops, R20)
13931393 // @ invariant domain(d.internalNextHops) intersection domain(d.external) == set[uint16]{}
13941394 // @ invariant acc(&d.neighborIAs, R15)
13951395 // @ invariant d.neighborIAs != nil ==> acc(d.neighborIAs, R15)
1396- // @ invariant forall i uint16 :: { d.forwardingMetrics[i] } i in domain(d.forwardingMetrics) ==>
1396+ // @ invariant forall i uint16 :: { d.forwardingMetrics[i] } i elem domain(d.forwardingMetrics) ==>
13971397 // @ acc(forwardingMetricsMem(d.forwardingMetrics[i], i), _)
13981398 // @ invariant acc(&d.Metrics, R15)
13991399 // @ invariant acc(d.Metrics.Mem(), _)
@@ -1694,7 +1694,7 @@ func (p *scionPacketProcessor) processInterBFD(oh *onehop.Path, data []byte) (er
16941694 }
16951695
16961696 if v , ok := p .d .bfdSessions [p .ingressID ]; ok {
1697- // @ assert v in range(p.d.bfdSessions)
1697+ // @ assert v elem range(p.d.bfdSessions)
16981698 v .ReceiveMessage (bfd /*@ , data @*/ )
16991699 return nil
17001700 }
@@ -1742,12 +1742,12 @@ func (p *scionPacketProcessor) processIntraBFD(data []byte) (res error) {
17421742 // @ invariant acc(&p.d.internalNextHops, _)
17431743 // @ invariant m === p.d.internalNextHops
17441744 // @ invariant m != nil ==> acc(m, R20)
1745- // @ invariant m != nil ==> forall a *net.UDPAddr :: { a in range(m) } a in range(m) ==> acc(a.Mem(), _)
1745+ // @ invariant m != nil ==> forall a *net.UDPAddr :: { a elem range(m) } a elem range(m) ==> acc(a.Mem(), _)
17461746 // @ invariant acc(&p.srcAddr, R20) && acc(p.srcAddr.Mem(), _)
17471747 // @ decreases len(p.d.internalNextHops) - len(keys)
17481748 for k , v := range p .d .internalNextHops /*@ with keys @*/ {
17491749 // @ assert acc(&p.d.internalNextHops, _)
1750- // @ assert forall a *net.UDPAddr :: { a in range(m) } a in range(m) ==> acc(a.Mem(), _)
1750+ // @ assert forall a *net.UDPAddr :: { a elem range(m) } a elem range(m) ==> acc(a.Mem(), _)
17511751 // @ assert acc(v.Mem(), _)
17521752 // @ unfold acc(v.Mem(), _)
17531753 // @ unfold acc(p.srcAddr.Mem(), _)
@@ -1763,7 +1763,7 @@ func (p *scionPacketProcessor) processIntraBFD(data []byte) (res error) {
17631763 // @ assert acc(&p.d.bfdSessions, _)
17641764 // @ ghost if p.d.bfdSessions != nil { unfold acc(accBfdSession(p.d.bfdSessions), _) }
17651765 if v , ok := p .d .bfdSessions [ifID ]; ok {
1766- // @ assert v in range(p.d.bfdSessions)
1766+ // @ assert v elem range(p.d.bfdSessions)
17671767 v .ReceiveMessage (bfd /*@ , data @*/ )
17681768 return nil
17691769 }
@@ -2544,8 +2544,8 @@ func (p *scionPacketProcessor) validateTransitUnderlaySrc( /*@ ghost ub []byte @
25442544 // @ ghost if p.d.internalNextHops != nil { unfold acc(accAddr(p.d.internalNextHops), _) }
25452545 expectedSrc , ok := p .d .internalNextHops [pktIngressID ]
25462546 // @ ghost if ok {
2547- // @ assert expectedSrc in range(p.d.internalNextHops)
2548- // @ unfold acc(expectedSrc.Mem(), _)
2547+ // @ assert expectedSrc elem range(p.d.internalNextHops)
2548+ // @ unfold acc(expectedSrc.Mem(), _)
25492549 // @ }
25502550 // @ unfold acc(p.srcAddr.Mem(), _)
25512551 if ! ok || ! expectedSrc .IP .Equal (p .srcAddr .IP ) {
@@ -4191,7 +4191,7 @@ func (p *scionPacketProcessor) processOHP() (respr processResult, reserr error /
41914191 // @ ghost if p.d.external != nil { unfold acc(accBatchConn(p.d.external), _) }
41924192 if c , ok := p .d .external [ohp .FirstHop .ConsEgress ]; ok {
41934193 // @ p.d.getDomExternalLemma()
4194- // @ assert ohp.FirstHop.ConsEgress in p.d.getDomExternal()
4194+ // @ assert ohp.FirstHop.ConsEgress elem p.d.getDomExternal()
41954195 // @ p.d.InDomainExternalInForwardingMetrics(ohp.FirstHop.ConsEgress)
41964196 // @ fold p.d.validResult(processResult{EgressID: ohp.FirstHop.ConsEgress, OutConn: c, OutPkt: p.rawPkt}, false)
41974197 return processResult {EgressID : ohp .FirstHop .ConsEgress , OutConn : c , OutPkt : p .rawPkt },
0 commit comments