use crate::Graph; pub fn theorem3_1(g: &Graph) -> bool { let claw = Graph { size: 4, matrix: vec![ vec![0, 1, 1, 1], vec![1, 0, 0, 0], vec![1, 0, 0, 0], vec![1, 0, 0, 0], ], }; let z1 = Graph { size: 4, matrix: vec![ vec![0, 1, 0, 0], vec![1, 0, 1, 1], vec![0, 1, 0, 1], vec![0, 1, 1, 0], ], }; let forbidden = vec![claw, z1]; return g.is_2_connected() && g.is_free_of(&forbidden); }