tamarin-prover-0.1.0.0: data/intruder_variants_dh.spthy
theory intruder_variants begin
builtin: diffie-hellman
section{* Finite Variants of the Intruder Rules *}
rule (modulo AC) exp:
[ !KU( 'noexp', x ), !KU( f_.2, x.1 ) ] --> [ !KU( 'exp', x^x.1 ) ]
rule (modulo AC) inv:
[ !KU( f_.1, x ) ] --> [ !KU( 'noexp', inv(x) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.3^x.4 ), !KU( f_.2, x.1 ) ]
-->
[ !KD( 'exp', x.3^(x.1*x.4) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.4^x.3 ), !KU( f_.2, inv(x.3) ) ]
-->
[ !KD( 'exp', x.4 ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.4^inv(x.3) ), !KU( f_.2, x.3 ) ]
-->
[ !KD( 'exp', x.4 ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.4^inv(x.5) ), !KU( f_.2, inv(x.3) ) ]
-->
[ !KD( 'exp', x.4^inv((x.3*x.5)) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.4^inv((x.3*x.5)) ), !KU( f_.2, x.3 ) ]
-->
[ !KD( 'exp', x.4^inv(x.5) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.4^(x.3*x.5) ), !KU( f_.2, inv(x.3) ) ]
-->
[ !KD( 'exp', x.4^x.5 ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.4^(x.5*inv(x.3)) ), !KU( f_.2, x.3 ) ]
-->
[ !KD( 'exp', x.4^x.5 ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.3^x.4 ), !KU( f_.2, inv((x.4*x.5)) ) ]
-->
[ !KD( 'exp', x.3^inv(x.5) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.3^x.4 ), !KU( f_.2, (x.5*inv(x.4)) ) ]
-->
[ !KD( 'exp', x.3^x.5 ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.5^inv(x.4) ), !KU( f_.2, (x.3*x.4) ) ]
-->
[ !KD( 'exp', x.5^x.3 ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.4^(x.5*inv(x.6)) ), !KU( f_.2, inv(x.3) ) ]
-->
[ !KD( 'exp', x.4^(x.5*inv((x.3*x.6))) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.3^inv(x.4) ), !KU( f_.2, (x.5*inv(x.6)) ) ]
-->
[ !KD( 'exp', x.3^(x.5*inv((x.4*x.6))) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.4^(x.5*inv((x.3*x.6))) ), !KU( f_.2, x.3 ) ]
-->
[ !KD( 'exp', x.4^(x.5*inv(x.6)) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.5^inv((x.4*x.6)) ), !KU( f_.2, (x.3*x.4) ) ]
-->
[ !KD( 'exp', x.5^(x.3*inv(x.6)) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.5^(x.4*x.6) ), !KU( f_.2, inv((x.3*x.4)) ) ]
-->
[ !KD( 'exp', x.5^(x.6*inv(x.3)) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.5^(x.4*x.6) ), !KU( f_.2, (x.3*inv(x.4)) ) ]
-->
[ !KD( 'exp', x.5^(x.3*x.6) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.5^(x.6*inv(x.4)) ), !KU( f_.2, (x.3*x.4) ) ]
-->
[ !KD( 'exp', x.5^(x.3*x.6) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.3^x.4 ), !KU( f_.2, (x.5*inv((x.4*x.6))) ) ]
-->
[ !KD( 'exp', x.3^(x.5*inv(x.6)) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.5^(x.6*inv(x.7)) ), !KU( f_.2, (x.3*inv(x.4)) ) ]
-->
[ !KD( 'exp', x.5^(x.3*x.6*inv((x.4*x.7))) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.5^(x.4*inv(x.3)) ), !KU( f_.2, (x.3*inv(x.4)) ) ]
-->
[ !KD( 'exp', x.5 ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.5^(x.4*inv(x.6)) ), !KU( f_.2, inv((x.3*x.4)) ) ]
-->
[ !KD( 'exp', x.5^inv((x.3*x.6)) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.5^inv((x.3*x.6)) ), !KU( f_.2, (x.3*inv(x.4)) ) ]
-->
[ !KD( 'exp', x.5^inv((x.4*x.6)) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.5^(x.6*inv((x.4*x.7))) ), !KU( f_.2, (x.3*x.4) ) ]
-->
[ !KD( 'exp', x.5^(x.3*x.6*inv(x.7)) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.3^(x.4*x.5) ), !KU( f_.2, (x.6*inv((x.5*x.7))) ) ]
-->
[ !KD( 'exp', x.3^(x.4*x.6*inv(x.7)) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.5^(x.4*x.6*inv(x.3)) ), !KU( f_.2, (x.3*inv(x.4)) ) ]
-->
[ !KD( 'exp', x.5^x.6 ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.6^(x.5*inv(x.4)) ), !KU( f_.2, (x.3*x.4*inv(x.5)) ) ]
-->
[ !KD( 'exp', x.6^x.3 ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.5^(x.4*x.6*inv(x.7)) ), !KU( f_.2, inv((x.3*x.4)) ) ]
-->
[ !KD( 'exp', x.5^(x.6*inv((x.3*x.7))) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.6^inv((x.4*x.7)) ), !KU( f_.2, (x.3*x.4*inv(x.5)) ) ]
-->
[ !KD( 'exp', x.6^(x.3*inv((x.5*x.7))) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.5^(x.4*inv((x.3*x.6))) ), !KU( f_.2, (x.3*inv(x.4)) ) ]
-->
[ !KD( 'exp', x.5^inv(x.6) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.3^(x.4*inv(x.5)) ), !KU( f_.2, (x.5*inv((x.4*x.6))) ) ]
-->
[ !KD( 'exp', x.3^inv(x.6) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.3^(x.4*inv(x.5)) ), !KU( f_.2, (x.6*inv((x.4*x.7))) ) ]
-->
[ !KD( 'exp', x.3^(x.6*inv((x.5*x.7))) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.6^(x.5*x.7*inv(x.4)) ), !KU( f_.2, (x.3*x.4*inv(x.5)) )
]
-->
[ !KD( 'exp', x.6^(x.3*x.7) ) ]
rule (modulo AC) exp:
[ !KD( 'noexp', x.5^(x.6*inv((x.3*x.7))) ), !KU( f_.2, (x.3*inv(x.4)) ) ]
-->
[ !KD( 'exp', x.5^(x.6*inv((x.4*x.7))) ) ]
rule (modulo AC) exp:
[
!KD( 'noexp', x.3^(x.4*inv(x.5)) ), !KU( f_.2, (x.5*x.6*inv((x.4*x.7))) )
]
-->
[ !KD( 'exp', x.3^(x.6*inv(x.7)) ) ]
rule (modulo AC) exp:
[
!KD( 'noexp', x.5^(x.4*x.6*inv((x.3*x.7))) ), !KU( f_.2, (x.3*inv(x.4)) )
]
-->
[ !KD( 'exp', x.5^(x.6*inv(x.7)) ) ]
rule (modulo AC) exp:
[
!KD( 'noexp', x.6^(x.5*inv((x.4*x.7))) ), !KU( f_.2, (x.3*x.4*inv(x.5)) )
]
-->
[ !KD( 'exp', x.6^(x.3*inv(x.7)) ) ]
rule (modulo AC) exp:
[
!KD( 'noexp', x.6^(x.5*x.7*inv(x.3)) ), !KU( f_.2, (x.3*inv((x.4*x.5))) )
]
-->
[ !KD( 'exp', x.6^(x.7*inv(x.4)) ) ]
rule (modulo AC) exp:
[
!KD( 'noexp', x.6^(x.5*x.7*inv(x.8)) ), !KU( f_.2, (x.3*inv((x.4*x.5))) )
]
-->
[ !KD( 'exp', x.6^(x.3*x.7*inv((x.4*x.8))) ) ]
rule (modulo AC) exp:
[
!KD( 'noexp', x.6^(x.7*inv((x.4*x.8))) ), !KU( f_.2, (x.3*x.4*inv(x.5)) )
]
-->
[ !KD( 'exp', x.6^(x.3*x.7*inv((x.5*x.8))) ) ]
rule (modulo AC) exp:
[
!KD( 'noexp', x.6^(x.5*inv((x.3*x.7))) ),
!KU( f_.2, (x.3*inv((x.4*x.5))) )
]
-->
[ !KD( 'exp', x.6^inv((x.4*x.7)) ) ]
rule (modulo AC) exp:
[
!KD( 'noexp', x.3^(x.4*x.5*inv(x.6)) ),
!KU( f_.2, (x.6*x.7*inv((x.5*x.8))) )
]
-->
[ !KD( 'exp', x.3^(x.4*x.7*inv(x.8)) ) ]
rule (modulo AC) exp:
[
!KD( 'noexp', x.6^(x.5*x.7*inv((x.4*x.8))) ),
!KU( f_.2, (x.3*x.4*inv(x.5)) )
]
-->
[ !KD( 'exp', x.6^(x.3*x.7*inv(x.8)) ) ]
rule (modulo AC) exp:
[
!KD( 'noexp', x.7^(x.6*inv((x.4*x.8))) ),
!KU( f_.2, (x.3*x.4*inv((x.5*x.6))) )
]
-->
[ !KD( 'exp', x.7^(x.3*inv((x.5*x.8))) ) ]
rule (modulo AC) exp:
[
!KD( 'noexp', x.6^(x.5*x.7*inv((x.3*x.8))) ),
!KU( f_.2, (x.3*inv((x.4*x.5))) )
]
-->
[ !KD( 'exp', x.6^(x.7*inv((x.4*x.8))) ) ]
rule (modulo AC) exp:
[
!KD( 'noexp', x.7^(x.6*x.8*inv((x.4*x.9))) ),
!KU( f_.2, (x.3*x.4*inv((x.5*x.6))) )
]
-->
[ !KD( 'exp', x.7^(x.3*x.8*inv((x.5*x.9))) ) ]
rule (modulo AC) inv:
[ !KD( f_.1, inv(x.2) ) ] --> [ !KD( 'noexp', x.2 ) ]
end