src/HOL/Data_Structures/Leftist_Heap.thy
changeset 79969 4aeb25ba90f3
parent 79490 b287510a4202
child 80484 0ca36dcdcbd3
equal deleted inserted replaced
79968:f1c29e366c09 79969:4aeb25ba90f3
   158 
   158 
   159 
   159 
   160 subsection "Complexity"
   160 subsection "Complexity"
   161 
   161 
   162 text \<open>Auxiliary time functions (which are both 0):\<close>
   162 text \<open>Auxiliary time functions (which are both 0):\<close>
   163 define_time_fun mht
   163 time_fun mht
   164 define_time_fun node
   164 time_fun node
   165 
   165 
   166 lemma T_mht_0[simp]: "T_mht t = 0"
   166 lemma T_mht_0[simp]: "T_mht t = 0"
   167 by(cases t)auto
   167 by(cases t)auto
   168 
   168 
   169 text \<open>Define timing function\<close>
   169 text \<open>Define timing function\<close>
   170 define_time_fun merge
   170 time_fun merge
   171 define_time_fun insert
   171 time_fun insert
   172 define_time_fun del_min
   172 time_fun del_min
   173 
   173 
   174 lemma T_merge_min_height: "ltree l \<Longrightarrow> ltree r \<Longrightarrow> T_merge l r \<le> min_height l + min_height r + 1"
   174 lemma T_merge_min_height: "ltree l \<Longrightarrow> ltree r \<Longrightarrow> T_merge l r \<le> min_height l + min_height r + 1"
   175 proof(induction l r rule: merge.induct)
   175 proof(induction l r rule: merge.induct)
   176   case 3 thus ?case by(auto)
   176   case 3 thus ?case by(auto)
   177 qed simp_all
   177 qed simp_all