From cc4df3ccd75f1102d58110e123fac0d10b0542b2 Mon Sep 17 00:00:00 2001 From: Michele Alberti <michele.alberti@cea.fr> Date: Wed, 12 Apr 2023 14:16:21 +0200 Subject: [PATCH] [tests] Use /\ instead of -> the most in ACAS-Xu. --- tests/interpretation_acasxu.t | 169 +++++++++++++++++----------------- 1 file changed, 83 insertions(+), 86 deletions(-) diff --git a/tests/interpretation_acasxu.t b/tests/interpretation_acasxu.t index 93fae2a..4d0b064 100644 --- a/tests/interpretation_acasxu.t +++ b/tests/interpretation_acasxu.t @@ -28,11 +28,11 @@ Test interpret on acasxu > constant pi: t = 3.141592999999999857863031138549558818340301513671875 > > predicate valid_input (i: input) = - > (0.0:t) .<= i[distance_to_intruder] .<= (60760.0:t) -> - > .- pi .<= i[angle_to_intruder] .<= pi -> - > .- pi .<= i[intruder_heading] .<= pi -> - > (100.0:t) .<= i[speed] .<= (1200.0:t) -> - > (0.0:t) .<= i[intruder_speed] .<= (1200.0:t) + > (0.0:t) .<= i[distance_to_intruder] .<= (60760.0:t) + > /\ .- pi .<= i[angle_to_intruder] .<= pi + > /\ .- pi .<= i[intruder_heading] .<= pi + > /\ (100.0:t) .<= i[speed] .<= (1200.0:t) + > /\ (0.0:t) .<= i[intruder_speed] .<= (1200.0:t) > > predicate valid_action (a: action) = 0 <= a <= 4 > @@ -42,9 +42,9 @@ Test interpret on acasxu > valid_action b -> a <> b -> (c%%i)[a] .< (c%%i)[b] > > predicate intruder_distant_and_slow (i: input) = - > i[distance_to_intruder] .>= (55947.6909999999988940544426441192626953125:t) -> - > i[speed] .>= (1145.0:t) -> - > i[intruder_speed] .<= (60.0:t) + > i[distance_to_intruder] .>= (55947.6909999999988940544426441192626953125:t) + > /\ i[speed] .>= (1145.0:t) + > /\ i[intruder_speed] .<= (60.0:t) > > function denormalize_t (i: t) (mean: t) (range: t) : t = (i .* range) .+ mean > @@ -66,63 +66,60 @@ Test interpret on acasxu > forall i: input. > has_length i 5 -> > let j = denormalize_input i in - > valid_input j -> - > intruder_distant_and_slow j -> + > valid_input j /\ intruder_distant_and_slow j -> > let o = (classifier%%i)[clear_of_conflict] in > (denormalize_output o) .<= (1500.0:t) > > predicate directly_ahead (i: input) = - > (1500.0:t) .<= i[distance_to_intruder] .<= (1800.0:t) -> - > .- (0.059999999999999997779553950749686919152736663818359375:t) .<= i[angle_to_intruder] .<= (0.059999999999999997779553950749686919152736663818359375:t) + > (1500.0:t) .<= i[distance_to_intruder] .<= (1800.0:t) + > /\ .- (0.059999999999999997779553950749686919152736663818359375:t) .<= i[angle_to_intruder] .<= (0.059999999999999997779553950749686919152736663818359375:t) > > predicate moving_towards (i: input) = - > i[intruder_heading] .>= (3.100000000000000088817841970012523233890533447265625:t) -> - > i[speed] .>= (900.0:t) -> - > i[intruder_speed] .>= (960.0:t) + > i[intruder_heading] .>= (3.100000000000000088817841970012523233890533447265625:t) + > /\ i[speed] .>= (900.0:t) + > /\ i[intruder_speed] .>= (960.0:t) > > goal P2: > forall i: input. > has_length i 5 -> > let j = denormalize_input i in - > valid_input j -> - > directly_ahead j -> - > moving_towards j -> + > valid_input j /\ directly_ahead j /\ moving_towards j -> > not (advises classifier i clear_of_conflict) > end > EOF P1 : forall caisar_v:t, caisar_v1:t, caisar_v2:t, caisar_v3:t, caisar_v4:t. - (le (0.0:t) (add RNE (mul RNE caisar_v (60261.0:t)) (19791.0:t)) /\ - le (add RNE (mul RNE caisar_v (60261.0:t)) (19791.0:t)) (60760.0:t) -> - le (neg (3.141592999999999857863031138549558818340301513671875:t)) - (add RNE - (mul RNE caisar_v1 - (6.2831853071800001231395071954466402530670166015625:t)) - (0.0:t)) /\ - le - (add RNE - (mul RNE caisar_v1 - (6.2831853071800001231395071954466402530670166015625:t)) - (0.0:t)) - (3.141592999999999857863031138549558818340301513671875:t) -> - le (neg (3.141592999999999857863031138549558818340301513671875:t)) - (add RNE - (mul RNE caisar_v2 - (6.2831853071800001231395071954466402530670166015625:t)) - (0.0:t)) /\ - le - (add RNE - (mul RNE caisar_v2 - (6.2831853071800001231395071954466402530670166015625:t)) - (0.0:t)) - (3.141592999999999857863031138549558818340301513671875:t) -> - le (100.0:t) (add RNE (mul RNE caisar_v3 (1100.0:t)) (650.0:t)) /\ - le (add RNE (mul RNE caisar_v3 (1100.0:t)) (650.0:t)) (1200.0:t) -> + ((le (0.0:t) (add RNE (mul RNE caisar_v (60261.0:t)) (19791.0:t)) /\ + le (add RNE (mul RNE caisar_v (60261.0:t)) (19791.0:t)) (60760.0:t)) /\ + (le (neg (3.141592999999999857863031138549558818340301513671875:t)) + (add RNE + (mul RNE caisar_v1 + (6.2831853071800001231395071954466402530670166015625:t)) + (0.0:t)) /\ + le + (add RNE + (mul RNE caisar_v1 + (6.2831853071800001231395071954466402530670166015625:t)) + (0.0:t)) + (3.141592999999999857863031138549558818340301513671875:t)) /\ + (le (neg (3.141592999999999857863031138549558818340301513671875:t)) + (add RNE + (mul RNE caisar_v2 + (6.2831853071800001231395071954466402530670166015625:t)) + (0.0:t)) /\ + le + (add RNE + (mul RNE caisar_v2 + (6.2831853071800001231395071954466402530670166015625:t)) + (0.0:t)) + (3.141592999999999857863031138549558818340301513671875:t)) /\ + (le (100.0:t) (add RNE (mul RNE caisar_v3 (1100.0:t)) (650.0:t)) /\ + le (add RNE (mul RNE caisar_v3 (1100.0:t)) (650.0:t)) (1200.0:t)) /\ le (0.0:t) (add RNE (mul RNE caisar_v4 (1200.0:t)) (600.0:t)) /\ - le (add RNE (mul RNE caisar_v4 (1200.0:t)) (600.0:t)) (1200.0:t)) -> - (le (55947.6909999999988940544426441192626953125:t) - (add RNE (mul RNE caisar_v (60261.0:t)) (19791.0:t)) -> - le (1145.0:t) (add RNE (mul RNE caisar_v3 (1100.0:t)) (650.0:t)) -> - le (add RNE (mul RNE caisar_v4 (1200.0:t)) (600.0:t)) (60.0:t)) -> + le (add RNE (mul RNE caisar_v4 (1200.0:t)) (600.0:t)) (1200.0:t)) /\ + le (55947.6909999999988940544426441192626953125:t) + (add RNE (mul RNE caisar_v (60261.0:t)) (19791.0:t)) /\ + le (1145.0:t) (add RNE (mul RNE caisar_v3 (1100.0:t)) (650.0:t)) /\ + le (add RNE (mul RNE caisar_v4 (1200.0:t)) (600.0:t)) (60.0:t) -> le (add RNE (mul RNE @@ -140,36 +137,36 @@ Test interpret on acasxu vector, (Interpretation.Vector 5) P2 : forall caisar_v:t, caisar_v1:t, caisar_v2:t, caisar_v3:t, caisar_v4:t. - (le (0.0:t) (add RNE (mul RNE caisar_v (60261.0:t)) (19791.0:t)) /\ - le (add RNE (mul RNE caisar_v (60261.0:t)) (19791.0:t)) (60760.0:t) -> - le (neg (3.141592999999999857863031138549558818340301513671875:t)) - (add RNE - (mul RNE caisar_v1 - (6.2831853071800001231395071954466402530670166015625:t)) - (0.0:t)) /\ - le - (add RNE - (mul RNE caisar_v1 - (6.2831853071800001231395071954466402530670166015625:t)) - (0.0:t)) - (3.141592999999999857863031138549558818340301513671875:t) -> - le (neg (3.141592999999999857863031138549558818340301513671875:t)) - (add RNE - (mul RNE caisar_v2 - (6.2831853071800001231395071954466402530670166015625:t)) - (0.0:t)) /\ - le - (add RNE - (mul RNE caisar_v2 - (6.2831853071800001231395071954466402530670166015625:t)) - (0.0:t)) - (3.141592999999999857863031138549558818340301513671875:t) -> - le (100.0:t) (add RNE (mul RNE caisar_v3 (1100.0:t)) (650.0:t)) /\ - le (add RNE (mul RNE caisar_v3 (1100.0:t)) (650.0:t)) (1200.0:t) -> + ((le (0.0:t) (add RNE (mul RNE caisar_v (60261.0:t)) (19791.0:t)) /\ + le (add RNE (mul RNE caisar_v (60261.0:t)) (19791.0:t)) (60760.0:t)) /\ + (le (neg (3.141592999999999857863031138549558818340301513671875:t)) + (add RNE + (mul RNE caisar_v1 + (6.2831853071800001231395071954466402530670166015625:t)) + (0.0:t)) /\ + le + (add RNE + (mul RNE caisar_v1 + (6.2831853071800001231395071954466402530670166015625:t)) + (0.0:t)) + (3.141592999999999857863031138549558818340301513671875:t)) /\ + (le (neg (3.141592999999999857863031138549558818340301513671875:t)) + (add RNE + (mul RNE caisar_v2 + (6.2831853071800001231395071954466402530670166015625:t)) + (0.0:t)) /\ + le + (add RNE + (mul RNE caisar_v2 + (6.2831853071800001231395071954466402530670166015625:t)) + (0.0:t)) + (3.141592999999999857863031138549558818340301513671875:t)) /\ + (le (100.0:t) (add RNE (mul RNE caisar_v3 (1100.0:t)) (650.0:t)) /\ + le (add RNE (mul RNE caisar_v3 (1100.0:t)) (650.0:t)) (1200.0:t)) /\ le (0.0:t) (add RNE (mul RNE caisar_v4 (1200.0:t)) (600.0:t)) /\ - le (add RNE (mul RNE caisar_v4 (1200.0:t)) (600.0:t)) (1200.0:t)) -> - (le (1500.0:t) (add RNE (mul RNE caisar_v (60261.0:t)) (19791.0:t)) /\ - le (add RNE (mul RNE caisar_v (60261.0:t)) (19791.0:t)) (1800.0:t) -> + le (add RNE (mul RNE caisar_v4 (1200.0:t)) (600.0:t)) (1200.0:t)) /\ + ((le (1500.0:t) (add RNE (mul RNE caisar_v (60261.0:t)) (19791.0:t)) /\ + le (add RNE (mul RNE caisar_v (60261.0:t)) (19791.0:t)) (1800.0:t)) /\ le (neg (0.059999999999999997779553950749686919152736663818359375:t)) (add RNE (mul RNE caisar_v1 @@ -180,14 +177,14 @@ Test interpret on acasxu (mul RNE caisar_v1 (6.2831853071800001231395071954466402530670166015625:t)) (0.0:t)) - (0.059999999999999997779553950749686919152736663818359375:t)) -> - (le (3.100000000000000088817841970012523233890533447265625:t) - (add RNE - (mul RNE caisar_v2 - (6.2831853071800001231395071954466402530670166015625:t)) - (0.0:t)) -> - le (900.0:t) (add RNE (mul RNE caisar_v3 (1100.0:t)) (650.0:t)) -> - le (960.0:t) (add RNE (mul RNE caisar_v4 (1200.0:t)) (600.0:t))) -> + (0.059999999999999997779553950749686919152736663818359375:t)) /\ + le (3.100000000000000088817841970012523233890533447265625:t) + (add RNE + (mul RNE caisar_v2 + (6.2831853071800001231395071954466402530670166015625:t)) + (0.0:t)) /\ + le (900.0:t) (add RNE (mul RNE caisar_v3 (1100.0:t)) (650.0:t)) /\ + le (960.0:t) (add RNE (mul RNE caisar_v4 (1200.0:t)) (600.0:t)) -> not (((lt (nnet_classifier %% vector caisar_v caisar_v1 caisar_v2 caisar_v3 caisar_v4) -- GitLab