Theory Compass_Digraph
subsection‹Neural Networks as Directed Graphs (\thy)›
theory
Compass_Digraph
imports
Neural_Networks.NN_Digraph_Main
begin
subsubsection‹Manual Encoding›
paragraph‹Definition: Neurons›
definition "m_N0 ≡ In 0"
definition "m_N1 ≡ In 1"
definition "m_N2 ≡ In 2"
definition "m_N3 ≡ In 3"
definition "m_N4 ≡ In 4"
definition "m_N5 ≡ In 5"
definition "m_N6 ≡ In 6"
definition "m_N7 ≡ In 7"
definition "m_N8 ≡ In 8"
definition "m_N9 ≡ Neuron ⦇φ = Identity, α = 1, β = 7082077208906412 / 1000000000000000000, uid = 9⦈"
definition "m_N10 ≡ Neuron ⦇φ = Identity, α = 1, β = 10754479467868805 / 100000000000000000, uid = 10⦈"
definition "m_N11 ≡ Neuron ⦇φ = Identity, α = 1, β = - 15743795782327652 / 1000000000000000000, uid = 11⦈"
definition "m_N12 ≡ Neuron ⦇φ = Identity, α = 1, β = 4792080223560333 / 10000000000000000, uid = 12⦈"
definition "m_N13 ≡ Neuron ⦇φ = Identity, α = 1, β = - 16364477574825287 / 100000000000000000, uid = 13⦈"
definition "m_N14 ≡ Neuron ⦇φ = Identity, α = 1, β = - 24132762849330902 / 100000000000000000, uid = 14⦈"
definition "m_N15 ≡ Neuron ⦇φ = Identity, α = 1, β = - 3057991564273834 / 10000000000000000, uid = 15⦈"
definition "m_N16 ≡ Out 16"
definition "m_N17 ≡ Out 17"
definition "m_N18 ≡ Out 18"
definition "m_N19 ≡ Out 19"
lemmas
m_neuron_defs = m_N0_def m_N1_def m_N2_def m_N3_def m_N4_def m_N5_def m_N6_def m_N7_def m_N8_def
m_N9_def m_N10_def m_N11_def m_N12_def m_N13_def m_N14_def m_N15_def m_N16_def
m_N17_def m_N18_def m_N19_def
definition "m_Neurons = [m_N0, m_N1, m_N2, m_N3, m_N4, m_N5, m_N6, m_N7, m_N8, m_N9, m_N10, m_N11,
m_N12, m_N13, m_N14, m_N15, m_N16, m_N17, m_N18, m_N19]"
paragraph‹Definition: Edges›
definition "m_E12_16 ≡ ⦇ω = 1, tl = m_N12, hd = m_N16⦈"
definition "m_E13_17 ≡ ⦇ω = 1, tl = m_N13, hd = m_N17⦈"
definition "m_E14_18 ≡ ⦇ω = 1, tl = m_N14, hd = m_N18⦈"
definition "m_E15_19 ≡ ⦇ω = 1, tl = m_N15, hd = m_N19⦈"
definition "m_E9_12 ≡ ⦇ω = 4108836501836777 / 100000000000000000, tl = m_N9, hd = m_N12⦈"
definition "m_E10_12 ≡ ⦇ω = 14860405027866364 / 100000000000000000, tl = m_N10, hd = m_N12⦈"
definition "m_E11_12 ≡ ⦇ω = 24455930292606354 / 100000000000000000, tl = m_N11, hd = m_N12⦈"
definition "m_E9_13 ≡ ⦇ω = - 2398796558380127 / 1000000000000000, tl = m_N9, hd = m_N13⦈"
definition "m_E10_13 ≡ ⦇ω = - 7789374142885208 / 100000000000000000, tl = m_N10, hd = m_N13⦈"
definition "m_E11_13 ≡ ⦇ω = 5169432163238525 / 10000000000000000, tl = m_N11, hd = m_N13⦈"
definition "m_E9_14 ≡ ⦇ω = - 46464818716049194 / 100000000000000000, tl = m_N9, hd = m_N14⦈"
definition "m_E10_14 ≡ ⦇ω = 10928256511688232 / 10000000000000000, tl = m_N10, hd = m_N14⦈"
definition "m_E11_14 ≡ ⦇ω = - 14084954261779785 / 10000000000000000, tl = m_N11, hd = m_N14⦈"
definition "m_E9_15 ≡ ⦇ω = 1946548342704773 / 1000000000000000, tl = m_N9, hd = m_N15⦈"
definition "m_E10_15 ≡ ⦇ω = - 952406108379364 / 1000000000000000, tl = m_N10, hd = m_N15⦈"
definition "m_E11_15 ≡ ⦇ω = - 6348744630813599 / 10000000000000000, tl = m_N11, hd = m_N15⦈"
definition "m_E0_9 ≡ ⦇ω = 6684625744819641 / 10000000000000000, tl = m_N0, hd = m_N9⦈"
definition "m_E1_9 ≡ ⦇ω = - 1295279860496521 / 1000000000000000, tl = m_N1, hd = m_N9⦈"
definition "m_E2_9 ≡ ⦇ω = - 28579580783843994 / 100000000000000000, tl = m_N2, hd = m_N9⦈"
definition "m_E3_9 ≡ ⦇ω = 17300206422805786 / 10000000000000000, tl = m_N3, hd = m_N9⦈"
definition "m_E4_9 ≡ ⦇ω = 6391876339912415 / 10000000000000000, tl = m_N4, hd = m_N9⦈"
definition "m_E5_9 ≡ ⦇ω = - 13919317722320557 / 10000000000000000, tl = m_N5, hd = m_N9⦈"
definition "m_E6_9 ≡ ⦇ω = - 45270395278930664 / 100000000000000000, tl = m_N6, hd = m_N9⦈"
definition "m_E7_9 ≡ ⦇ω = 13654941320419312 / 10000000000000000, tl = m_N7, hd = m_N9⦈"
definition "m_E8_9 ≡ ⦇ω = - 18450486660003662 / 100000000000000000, tl = m_N8, hd = m_N9⦈"
definition "m_E0_10 ≡ ⦇ω = 6286060065031052 / 100000000000000000, tl = m_N0, hd = m_N10⦈"
definition "m_E1_10 ≡ ⦇ω = 3662835955619812 / 10000000000000000, tl = m_N1, hd = m_N10⦈"
definition "m_E2_10 ≡ ⦇ω = 6922798752784729 / 10000000000000000, tl = m_N2, hd = m_N10⦈"
definition "m_E3_10 ≡ ⦇ω = - 3759842813014984 / 10000000000000000, tl = m_N3, hd = m_N10⦈"
definition "m_E4_10 ≡ ⦇ω = 1505584865808487 / 10000000000000000, tl = m_N4, hd = m_N10⦈"
definition "m_E5_10 ≡ ⦇ω = 10981513261795044 / 10000000000000000, tl = m_N5, hd = m_N10⦈"
definition "m_E6_10 ≡ ⦇ω = 17104554921388626 / 1000000000000000000, tl = m_N6, hd = m_N10⦈"
definition "m_E7_10 ≡ ⦇ω = 7420693039894104 / 10000000000000000, tl = m_N7, hd = m_N10⦈"
definition "m_E8_10 ≡ ⦇ω = 1954902894794941 / 12500000000000000, tl = m_N8, hd = m_N10⦈"
definition "m_E0_11 ≡ ⦇ω = 986328125 / 10000000000, tl = m_N0, hd = m_N11⦈"
definition "m_E1_11 ≡ ⦇ω = 9530481100082397 / 10000000000000000, tl = m_N1, hd = m_N11⦈"
definition "m_E2_11 ≡ ⦇ω = 35006752610206604 / 100000000000000000, tl = m_N2, hd = m_N11⦈"
definition "m_E3_11 ≡ ⦇ω = 7897922992706299 / 10000000000000000, tl = m_N3, hd = m_N11⦈"
definition "m_E4_11 ≡ ⦇ω = - 5813585519790649 / 10000000000000000, tl = m_N4, hd = m_N11⦈"
definition "m_E5_11 ≡ ⦇ω = 5679721832275391 / 10000000000000000, tl = m_N5, hd = m_N11⦈"
definition "m_E6_11 ≡ ⦇ω = 5311743021011353 / 10000000000000000, tl = m_N6, hd = m_N11⦈"
definition "m_E7_11 ≡ ⦇ω = - 9090567231178284 / 10000000000000000, tl = m_N7, hd = m_N11⦈"
definition "m_E8_11 ≡ ⦇ω = - 45479249954223633 / 100000000000000000, tl = m_N8, hd = m_N11⦈"
lemmas
m_edge_defs = m_E12_16_def m_E13_17_def m_E14_18_def m_E15_19_def m_E9_12_def m_E10_12_def
m_E11_12_def m_E9_13_def m_E10_13_def m_E11_13_def m_E9_14_def m_E10_14_def
m_E11_14_def m_E9_15_def m_E10_15_def m_E11_15_def m_E0_9_def m_E1_9_def m_E2_9_def
m_E3_9_def m_E4_9_def m_E5_9_def m_E6_9_def m_E7_9_def m_E8_9_def m_E0_10_def
m_E1_10_def m_E2_10_def m_E3_10_def m_E4_10_def m_E5_10_def m_E6_10_def m_E7_10_def
m_E8_10_def m_E0_11_def m_E1_11_def m_E2_11_def m_E3_11_def m_E4_11_def m_E5_11_def
m_E6_11_def m_E7_11_def m_E8_11_def
definition
‹m_Edges = [m_E12_16, m_E13_17, m_E14_18, m_E15_19, m_E9_12, m_E10_12, m_E11_12, m_E9_13, m_E10_13,
m_E11_13, m_E9_14, m_E10_14, m_E11_14, m_E9_15, m_E10_15, m_E11_15, m_E0_9, m_E1_9,
m_E2_9, m_E3_9, m_E4_9, m_E5_9, m_E6_9, m_E7_9, m_E8_9, m_E0_10, m_E1_10, m_E2_10,
m_E3_10, m_E4_10, m_E5_10, m_E6_10, m_E7_10, m_E8_10, m_E0_11, m_E1_11, m_E2_11,
m_E3_11, m_E4_11, m_E5_11, m_E6_11, m_E7_11, m_E8_11]›
definition
‹m_Graph ≡ mk_nn_pregraph m_Edges›
paragraph‹Definition: Activation Tab›
fun m_φ_compass where
‹m_φ_compass Identity = Some identity›
| ‹m_φ_compass _ = None›
paragraph‹Definition: Neural Network›
definition
‹m_NeuralNet = ⦇graph = m_Graph, activation_tab = m_φ_compass⦈›
paragraph ‹Locale Interpretations›