src/HOL/Library/NList.thy
changeset 78922 9e43ab263d33
parent 78835 7482c023b37b
equal deleted inserted replaced
78919:7847cbfe3a62 78922:9e43ab263d33
    17 text \<open>These [simp] attributes are double-edged.
    17 text \<open>These [simp] attributes are double-edged.
    18  Many proofs in Jinja rely on it but they can degrade performance.\<close>
    18  Many proofs in Jinja rely on it but they can degrade performance.\<close>
    19 
    19 
    20 lemma nlistsE_length [simp]: "xs \<in> nlists n A \<Longrightarrow> size xs = n"
    20 lemma nlistsE_length [simp]: "xs \<in> nlists n A \<Longrightarrow> size xs = n"
    21   by (simp add: nlists_def)
    21   by (simp add: nlists_def)
       
    22 
       
    23 lemma in_nlists_UNIV: "xs \<in> nlists k UNIV \<longleftrightarrow> length xs = k"
       
    24 unfolding nlists_def by(auto)
    22 
    25 
    23 lemma less_lengthI: "\<lbrakk> xs \<in> nlists n A; p < n \<rbrakk> \<Longrightarrow> p < size xs"
    26 lemma less_lengthI: "\<lbrakk> xs \<in> nlists n A; p < n \<rbrakk> \<Longrightarrow> p < size xs"
    24 by (simp)
    27 by (simp)
    25 
    28 
    26 lemma nlistsE_set[simp]: "xs \<in> nlists n A \<Longrightarrow> set xs \<subseteq> A"
    29 lemma nlistsE_set[simp]: "xs \<in> nlists n A \<Longrightarrow> set xs \<subseteq> A"