stanford-oval/wikipedia huggingface dataset:
Lonicera kawakamii

| Lonicera kawakamii> Phân loại khoa học |
| --- | --- |
Giới (regnum): Plantae
(không phân hạng): Angiospermae
(không phân hạng): Eudicots
(không phân hạng): Asterids
Bộ (ordo): Dipsacales
Họ (familia): Caprifoliaceae
Chi (genus): Lonicera
Loài (species): L. kawakamii
Danh pháp hai phần
Lonicera kawakamii (Hayata) Masam. 
Lonicera kawakamii là một loài thực vật có hoa trong họ Kim ngân. Loài này được (Hayata) Masam. mô tả khoa học đầu tiên năm 1931.
Chú thích

↑  The Plant List (2010). “Lonicera kawakamii”. Truy cập ngày 18 tháng 9 năm 2013.
Notiophygus obscurus

| Notiophygus obscurus> Phân loại khoa học |
| --- | --- |
Giới (regnum): Animalia
Ngành (phylum): Arthropoda
Lớp (class): Insecta
Bộ (ordo): Coleoptera
Họ (familia): Discolomatidae
Chi (genus): Notiophygus
Loài (species): N. obscurus
Danh pháp hai phần
Notiophygus obscurus John, 1929 
Notiophygus obscurus là một loài bọ cánh cứng trong họ Discolomatidae. Loài này được John miêu tả khoa học năm 1929.
Chú thích

↑  Hallan, J.  (2010) Synopsis of the described Coleoptera of the World 6 juni 2010
Myiarchus antillarum

| Myiarchus antillarum> Phân loại khoa học |
| --- | --- |
Giới (regnum): Animalia
Ngành (phylum): Chordata
Lớp (class): Aves
Bộ (ordo): Passeriformes
Họ (familia): Tyrannidae
Chi (genus): Myiarchus
Loài (species): M. antillarum
Danh pháp hai phần
Myiarchus antillarum
Myiarchus antillarum là một loài chim trong họ Tyrannidae.
Chú thích

↑  Clements, J. F.; Schulenberg, T. S.; Iliff, M. J.; Wood, C. L.; Roberson, D.; Sullivan, B.L. (2012). “The eBird/Clements checklist of birds of the world: Version 6.7”. Truy cập ngày 19 tháng 12 năm 2012.
Heterogemma capitata

| Heterogemma capitata> Phân loại khoa học |
| --- | --- |
Giới (regnum): Plantae
Ngành (divisio): Marchantiophyta
Lớp (class): Jungermanniopsida
Bộ (ordo): Jungermanniales
Họ (familia): Jungermanniaceae
Chi (genus): Heterogemma
Loài (species): H. capitata
Danh pháp hai phần
Heterogemma capitata (Hook.) Konstant. & Vilnet, 2009 
Heterogemma capitata là một loài rêu tản trong họ Jungermanniaceae. Loài này được (Hook.) Konstant. & Vilnet mô tả khoa học lần đầu tiên năm 2009.
Chú thích

↑  The Plant List (2010). “Heterogemma capitata”. Truy cập ngày 27 tháng 9 năm 2013.
Gercüş

| Gercüş |
| --- | --- |
—  Huyện  —
 

Vị trí của Gercüş
GercüşVị trí ở Thổ Nhĩ Kỳ
Quốc gia:  Thổ Nhĩ Kỳ
Tỉnh: Batman
Diện tích
 • Tổng cộng: 826 km2 (319 mi2)
Dân số (2007)
 • Tổng cộng: 25.549 người
 • Mật độ: 31/km2 (80/mi2)
Múi giờ: EET (UTC+2)
 • Mùa hè (DST): EEST (UTC+3)
Gercüş là một huyện thuộc tỉnh Batman, Thổ Nhĩ Kỳ. Huyện có diện tích 826 km² và dân số thời điểm năm 2007 là 25549 người, mật độ 31 người/km².
Chú thích

↑  “Districts of Turkey” (bằng tiếng Anh). statoids.com. Truy cập ngày 14 tháng 6 năm 2012.
Assertion (phát triển phần mềm)

Trong lập trình máy tính, đặc biệt là khi sử dụng mô phạm lập trình mệnh lệnh, assertion (có thể dịch là xác quyết) là một vị ngữ (tức hàm có giá trị Boolean lên không gian trạng thái, thường được biểu diễn dưới dạng mệnh đề logic bằng cách sử dụng biến số của chương trình) được kết nối với một điểm trong chương trình, mà luôn luôn phải tính giá trị ra true tại điểm đó trong quá trình thực thi mã. Assertion có thể giúp đỡ lập trình viên trong việc đọc code, giúp trình biên dịch trong việc biên dịch code, hoặc giúp cho chương trình trong việc phát hiện ra các khiếm khuyết của chính nó trong run-time. Assertion có thể hiểu nôm na là "nhất quyết phải chính xác", hay "xác quyết".
Đối với việc phát hiện khiếm khuyết trong run-time, một số chương trình kiểm tra assertion bằng cách thực sự tính giá trị vị ngữ khi chúng chạy luôn. Sau đó, nếu vị ngữ đấy thực ra không phải là true – tức assertion bất thành – thì chương trình sẽ coi bản thân là bị hỏng và thường sẽ chủ động crash hoặc ném ra ngoại lệ assertion bất thành.
Chi tiết

Đoạn mã sau chứa hai assertion, x > 0 và x > 1, và chúng quả thực là true tại các điểm được chỉ định trong quá trình thực thi:
x = 1;
assert x > 0;
x++;
assert x > 1;
Lập trình viên có thể sử dụng assertion để giúp trong việc đặc tả chương trình và để suy lý về tính đúng sai của chương trình. Ví dụ, điều kiện tiên quyết – tức assertion đặt ở phần đầu của đoạn code – xác định tập hợp trạng thái mà lập trình viên mong rằng dựa vào đó mã sẽ thực thi, và điều kiện hậu quyết – đặt ở phần cuối – mô tả trạng thái mong muốn khi kết thúc thực thi. Ví dụ:
x > 0 { x++ } x > 1
Ví dụ trên sử dụng loại ký pháp để kèm assertion được C. A. R. Hoare sử dụng trong bài viết năm 1969 của mình. Loại ký pháp này không thể sử dụng được trong các ngôn ngữ lập trình dòng chính hiện có. Tuy nhiên, lập trình viên có thể kèm assertion unchecked trong run-time bằng cách dùng tính năng chú thích của ngôn ngữ lập trình mà mình dùng. Ví dụ, trong C:
x = 5;
x = x + 1;
// {x > 1}
Dấu ngoặc nhọn kèm trong comment giúp phân biệt cách sử dụng comment thế này với cách sử dụng thế khác.
Các thư viện cũng có thể cung cấp tính năng assertion. Ví dụ, trong C sử dụng glibc với hỗ trợ C99:
#include <assert.h>

int f(void)
{
  int x = 5;
  x = x + 1;
  assert(x > 1);
}
Vài ngôn ngữ lập trình hiện đại có bao gồm checked assertion – tức câu lệnh được kiểm tra trong run-time hoặc đôi khi được kiểm tra tĩnh. Nếu assertion tính giá trị ra false trong run-time thì sẽ dẫn đến assertion bất thành, từ đó thường khiến việc thực thi được bỏ dở. Như vậy sẽ hướng được sự chú ý đến vị trí phát hiện ra sự bất nhất logic, và có lẽ càng tốt khi hướng được luôn đến cái hành trạng của chương trình mà đáng ra phải chạy được nếu không bị lỗi.
Sử dụng assertion giúp lập trình viên thiết kế, phát triển và suy lý về chương trình.
Sử dụng

Trong các ngôn ngữ như Eiffel, assertion là một phần của quá trình thiết kế; còn các ngôn ngữ khác như C và Java thì sử dụng chúng chỉ để kiểm tra giả định trong run-time thôi. Trong cả hai trường hợp, assertion đều có thể được dùng để kiểm tra tính hợp lệ trong run-time nhưng cũng thường có thể được ẩn đi.
Sử dụng > Assertion trong thiết kế theo khế ước

Assertion có thể mang chức năng như một dạng tài liệu: nó có thể mô tả trạng thái mà code trông mong trước khi chạy (tức điều kiện tiên quyết), và trạng thái mà code mong muốn đưa ra khi chạy xong (tức điều kiện hậu quyết); nó còn có thể đặc tả lượng bất biến của lớp nữa. Eiffel có tích hợp các assertion như vậy vào ngôn ngữ và tự động trích xuất chúng trở thành tài liệu cho lớp. Đây là một phần quan trọng của phương pháp thiết kế theo khế ước.
Lối tiếp cận này cũng có hữu ích trong những ngôn ngữ không tường minh hỗ trợ nó: điểm lợi của việc sử dụng câu lệnh assertion chứ không dùng assertion trong comment đó là chương trình có thể kiểm tra assertion mỗi lần nó chạy; nếu assertion không còn thỏa thì có thể báo cáo lỗi. Điều này phòng ngừa chuyện code bị mất đồng bộ với assertion.
Sử dụng > Assertion để kiểm tra run-time

Assertion có thể được dùng để xác minh rằng giả định do lập trình viên tạo ra trong quá trình biên soạn chương trình vẫn giữ được tính hợp lệ khi chương trình được thực thi. Ví dụ: xem xét mã Java sau:
int total = countNumberOfUsers();
 if (total % 2 == 0) {
   // total là số chẵn
 } else {
   // total là số lẻ và không âm
   assert total % 2 == 1;
 }
Trong Java, % là toán tử lấy số dư (modulo), và trong Java, nếu toán hạng đầu tiên của nó là số âm, thì kết quả cũng có thể là số âm (không giống như modulo được dùng trong toán học). Ở đây, lập trình viên đã giả định rằng total không âm, do đó phần dư của phép chia cho 2 sẽ luôn là 0 hoặc 1. Assertion ở đây làm cho giả định này tường minh: hễ countNumberOfUsers trả về giá trị âm, thì tức là chương trình có thể có bug.
Một ưu điểm chính yếu của kỹ thuật này đó là khi có lỗi xảy ra, nó sẽ được phát hiện ngay lập tức và một cách trực tiếp, chứ không phải để mãi sau mới phát hiện ra thông qua những tác dụng thường là không rõ ràng của lỗi. Vì sự bất thành của assertion thường báo cáo luôn vị trí code, nên người ta hay có thể định vị được lỗi mà không cần debug gì thêm.
Assertion đôi khi cũng được đặt ở những điểm mà sự thực thi đúng ra không có chuyện tới được. Ví dụ, assertion có thể được đặt ở tiểu cú default của câu lệnh switch trong các ngôn ngữ như C, C++ và Java. Bất cứ trường hợp nào mà lập trình viên không chủ ý xử trí thì sẽ giơ lỗi và chương trình sẽ dừng ngang chứ không âm thầm tiếp tục trong trạng thái bị lỗi. Trong D, assertion như vậy được tự động thêm khi câu lệnh switch không chứa tiểu cú default.
Trong Java, assertion là một phần của ngôn ngữ kể từ phiên bản 1.4 đến giờ. Assertion bất thành sẽ kéo theo việc giơ AssertionError khi chương trình được chạy với các cờ thích hợp, nếu không đặt các cờ đấy thì các câu lệnh assertion sẽ được bỏ qua. Trong C, nó được thêm vào thông qua header tiêu chuẩn assert.h trong đó có định nghĩa assert(assertion). Trong C++, cả hai header assert.h và cassert đều cung cấp macro assert.
Sự nguy hiểm của assertion đó là nó có thể gây ra tác dụng phụ vì nó có thể thay đổi dữ liệu bộ nhớ hoặc thay đổi việc canh giờ của thread. Assertion nên được thực hiện cẩn thận để chúng không gây ra tác dụng phụ trên mã chương trình.
Kết cấu assertion trong ngôn ngữ cho phép dễ dàng phát triển dẫn động bằng kiểm thử mà không cần sử dụng thư viện của bên thứ ba.
Sử dụng > Assertion trong chu trình phát triển

Trong chu trình phát triển, lập trình viên thường sẽ chạy chương trình với các assertion được bật. Khi sự bất thành assertion xảy ra, lập trình viên sẽ ngay lập tức được báo tin về vấn đề. Nhiều bản thực hiện assertion cũng sẽ ngưng thực thi chương trình: điều này hữu ích, vì nếu chương trình tiếp tục chạy sau khi xảy ra sự vi phạm assertion thì nó có thể làm hỏng trạng thái của mình và làm cho nguyên nhân của vấn đề khó xác định hơn. Bằng thông tin được assertion cung cấp (chẳng hạn như vị trí của chỗ bị bất thành và có thể là cả stacktrace, hoặc thậm chí là trạng thái chương trình đầy đủ nếu môi trường đấy hỗ trợ core dump hoặc nếu chương trình đấy đang chạy trong debugger), lập trình viên thường có thể khắc phục vấn đề. Do đó, assertion là một công cụ rất mạnh trong việc debug.
Sử dụng > Assertion trong môi trường sản xuất

Khi chương trình được triển khai vào sản xuất, assertion thường được tắt để tránh bất kỳ tác dụng phụ nào mà nó có thể mang. Trong một số trường hợp, assertion hoàn toàn vắng mặt trong code triển khai, chẳng hạn như trong assertion của C/C++ thông qua macro. Trong các trường hợp khác như Java chẳng hạn, assertion lại hiện diện trong code triển khai và có thể được bật lại bằng cờ tham số để debug.
Assertion cũng có thể được sử dụng để hứa hẹn với trình biên dịch rằng một 'điều kiện biên' đã cho nào đó không thực sự có thể tới được, do đó cho phép trình biên dịch tiến hành các tối ưu hóa nhất định mà mặt khác ra không thể nào làm được. Trong trường hợp này, việc vô hiệu hóa assertion thực sự có thể làm giảm hiệu suất chương trình.
Sử dụng > Assertion tĩnh

Assertion mà được kiểm tra tại thời điểm biên dịch thì được gọi là assertion tĩnh.
Assertion tĩnh có tính hữu ích trong template metaprogramming của compile-time nói riêng, nhưng cũng có thể được dùng trong các ngôn ngữ mức thấp như C bằng cách đưa code bất hợp lệ vào nếu (và chỉ nếu) assertion chạy không được. C11 và C++11 có hỗ trợ assertion tĩnh một cách trực tiếp thông qua static_assert. Trong các phiên bản C trước đó, assertion tĩnh có thể được thực hiện ví dụ như sau:
#define SASSERT(pred) switch(0){case 0:case pred:;}

SASSERT( BOOLEAN CONDITION );
Nếu phần (BOOLEAN CONDITION) tính giá trị ra false thì đoạn mã trên sẽ không biên dịch được bởi vì trình biên dịch sẽ không cho phép hai nhãn case có cùng một hằng số. Biểu thức boolean phải là một giá trị hằng số trong compile-time, ví dụ: (sizeof(int)==4) sẽ là một biểu thức hợp lệ trong ngữ cảnh đó. Kết cấu này không dùng được ở tầm vực tập tin (tức là không ở bên trong hàm), và vì vậy nó phải được bọc bên trong hàm.
Một cách phổ biến khác để thực hiện assertion trong C là:
static char const static_assertion[ (BOOLEAN CONDITION)
                  ? 1 : -1
                 ] = {'!'};
Nếu phần (BOOLEAN CONDITION) tính giá trị ra false thì đoạn mã trên sẽ không biên dịch được vì mảng không thể có độ dài âm. Nếu trong thực tế, trình biên dịch cho phép độ dài âm thì phần byte khởi tạo (phần '!') vẫn sẽ khiến ngay cả những trình biên dịch khoan dung nhất cũng phải phàn nàn. Biểu thức boolean phải là một giá trị hằng số trong compile-time, ví dụ: (sizeof(int) == 4) sẽ là một biểu thức hợp lệ trong ngữ cảnh đó.
D cung cấp assertion tĩnh bằng static assert.
Vô hiệu hóa assertion

Hầu hết ngôn ngữ đều cho phép bật hoặc tắt assertion một cách toàn cục, và đôi khi một cách đơn lẻ. Assertion thường hay được bật trong lúc phát triển và được tắt đi trong lúc thử nghiệm cuối cùng và trong bản phát hành cho khách hàng. Việc không kiểm tra assertion sẽ tránh được chi phí thực thi assertion (giả sử assertion không có tác dụng phụ nào) mà vẫn giữ được cùng kết quả dưới điều kiện bình thường. Còn dưới điều kiện bất thường, việc tắt kiểm tra assertion có thể có nghĩa là chương trình đúng ra phải bị dừng ngang thì sẽ tiếp tục chạy. Điều này đôi khi được ưng hơn.
Một số ngôn ngữ, bao gồm cả C và C++, có thể loại bỏ hoàn toàn các assertion tại compile-time bằng cách sử dụng preprocessor.
Tương tự, khởi chạy trình thông dịch Python với đối số "-O" (viết tắt của "optimize", tối ưu hóa) sẽ khiến trình tạo mã Python không sinh ra bất kỳ bytecode nào cho các assertion.
Java yêu cầu truyền tùy chọn cho run-time engine thì mới bật được assertion. Không có tùy chọn đấy thì assertion sẽ được bỏ qua, song assertion vẫn luôn ở trong code trừ phi được quá trình tối ưu hóa của trình biên dịch JIT ở run-time loại bỏ đi hoặc được loại bỏ đi tại compile-time thông qua việc lập trình viên tự tay đặt từng assertion sau tiểu cú if (false).
Lập trình viên có thể xây dựng các chặng kiểm tra vào trong code của mình sao cho chúng luôn luôn hữu hoạt bằng cách lách qua hoặc thao túng cơ chế kiểm tra assertion bình thường của ngôn ngữ.
Lịch sử

Trong báo cáo năm 1947 của von Neumann và Goldstine về thiết kế của họ cho máy IAS, họ đã mô tả các thuật toán bằng cách sử dụng phiên bản sơ kỳ của lưu đồ, trong đó bao gồm khẳng định là: "Có lẽ đúng là mỗi khi C thực sự chạy đến một điểm nhất định trong biểu đồ lưu trình, một hoặc nhiều biến số ràng buộc với nhau sẽ tất yếu mang các giá trị cụ thể nhất định, hoặc mang các tính chất nhất định, hoặc thỏa mãn các tính chất nhất định với nhau. Thêm nữa, tại những điểm như vậy, chúng ta có thể chỉ ra tính hợp lệ của những sự hạn định này. Bởi lý do này, chúng ta sẽ biểu thị mỗi khu vực, mà trong đó tính hợp lệ của những sự hạn định như vậy được xác quyết, bằng một chiếc hộp đặc biệt, mà chúng ta gọi nó là chiếc hộp xác quyết."
Alan Turing đã chủ trương dùng phương pháp assertion để chứng minh tính đúng đắn của chương trình. Trong buổi nói chuyện "Checking a Large Routine" tại Cambridge, ngày 24 tháng 6 năm 1949, Turing đề xuất: "Ta kiểm tra routine lớn theo ý là đảm bảo nó đúng bằng cách nào đây? Nhằm để người kiểm tra không phải bị tác vụ quá khó khăn, lập trình viên nên tạo một số lượng các xác quyết có tính minh xác mà có thể được kiểm tra riêng rẽ, và bằng cách đó tính đúng đắn của cả thảy chương trình dễ dàng đi theo".
Ghi chú thuật ngữ

↑  Evaluate
↑  Assertion failure
↑  Không được thực thi khi chương trình chạy
↑  Invariant
↑  Design by contract
↑  Căn nguyên gây lỗi
↑  Clause
↑  Test-driven programming
1 2  Assertion trong các trích đoạn này được dịch là "xác quyết"
Luzula pumila

| Luzula pumila> Phân loại khoa học |
| --- | --- |
Giới (regnum): Plantae
(không phân hạng): Angiospermae
(không phân hạng): Monocots
(không phân hạng): Commelinids
Bộ (ordo): Poales
Họ (familia): Juncaceae
Chi (genus): Luzula
Loài (species): L. pumila
Danh pháp hai phần
Luzula pumila Hook.f. 
Luzula pumila là một loài thực vật có hoa trong họ Juncaceae. Loài này được Hook.f. mô tả khoa học đầu tiên năm 1864.
Chú thích

↑  The Plant List (2010). “Luzula pumila”. Truy cập ngày 16 tháng 7 năm 2013.
Valle Lomellina

Valle Lomellina là một đô thị ở tỉnh Pavia trong vùng Lombardia của Ý, có cự ly khoảng 50 km về phía tây nam của Milan và khoảng 40 km về phía tây của Pavia. Tại thời điểm ngày 31 tháng 12 năm 2004, đô thị này có dân số 2.224 người và diện tích là 27,1 km².
Đô thị Valle Lomellina có các frazioni (các đơn vị trực thuộc, chủ yếu là các làng) Bordignana, Cascina d'Allona, và Cascina dei Risi.
Valle Lomellina giáp các đô thị sau: Breme, Candia Lomellina, Cozzo, Sartirana Lomellina, Semiana, Velezzo Lomellina, Zeme.
Kidadur, Kushtagi

| Kidadur |
| --- | --- |
—  Làng  —
 
Quốc gia:  Ấn Độ
Bang: Karnataka
Huyện: Koppal
Thành phố/thị trấn: Kushtagi
Múi giờ: IST (UTC+5:30)
Kidadur là một làng thuộc tehsil Kushtagi, huyện Koppal, bang Karnataka, Ấn Độ.
Nikola Boranijašević

| Thông tin cá nhân |
| --- | --- | --- | --- |
Tên đầy đủ:  Nikola Boranijašević
Ngày sinh:  19 tháng 5, 1992 (32 tuổi)
Nơi sinh:  Nova Varoš, Nam Tư
Chiều cao:  1,83 m (6 ft 0 in)
Vị trí:  Hậu vệ phải
Thông tin đội
Đội hiện nay:  Napredak Kruševac
Số áo:  25
Sự nghiệp cầu thủ trẻ
Năm:  Đội
:  Zlatar Nova Varoš
2007–2011:  Borac Čačak
Sự nghiệp cầu thủ chuyên nghiệp*
| Năm |  Đội |  ST |  (BT) |
| 2010–2016 |  Borac Čačak |  62 |  (0) |
| 2011 |  → Polet Ljubić (mượn) |  13 |  (1) |
| 2012 |  → Rudar Kostolac (mượn) |  9 |  (0) |
| 2016–2017 |  Ventspils |  39 |  (2) |
| 2017– |  Napredak Kruševac |  19 |  (0) |
 *Số trận ra sân và số bàn thắng ở câu lạc bộ tại giải quốc gia, chính xác tính đến 29 tháng 5 năm 2015
Nikola Boranijašević  (tiếng Kirin Serbia: Никола Боранијашевић; sinh 31 tháng 5 năm 1989) là một cầu thủ bóng đá Serbia, thi đấu cho Napredak Kruševac.
Myiagra ruficollis

| Myiagra ruficollis |
| --- | --- |

Tình trạng bảo tồn
 Ít quan tâm  (IUCN 3.1)
Phân loại khoa học 
Vực:: Eukaryota
Giới:: Animalia
Ngành:: Chordata
Lớp:: Aves
Bộ:: Passeriformes
Họ:: Monarchidae
Chi:: Myiagra
Loài:: M. ruficollis
Danh pháp hai phần
Myiagra ruficollis (Vieillot, 1818)

Các đồng nghĩa
 Platyrhynchos ruficollis
Myiagra ruficollis là một loài chim trong họ Monarchidae.
được tìm thấy ở Australia, Indonesia và Papua New Guinea. Môi trường sống tự nhiên của chúng là rừng nhiệt đới hoặc cận nhiệt đới ẩm vùng đất thấp, rừng ngập mặn nhiệt đới hoặc cận nhiệt đới, và rừng núi nhiệt đới hoặc cận nhiệt đới.
Chú thích

↑  BirdLife International (2017). “Myiagra ruficollis”. Sách đỏ IUCN về các loài bị đe dọa. 2017: e.T22707400A118760343. doi:10.2305/IUCN.UK.2017-3.RLTS.T22707400A118760343.en. Truy cập ngày 17 tháng 11 năm 2021.
↑  Clements, J. F.; Schulenberg, T. S.; Iliff, M. J.; Wood, C. L.; Roberson, D.; Sullivan, B.L. (2012). “The eBird/Clements checklist of birds of the world: Version 6.7”. Truy cập ngày 19 tháng 12 năm 2012.
Myiarchus

| Myiarchus> Phân loại khoa học |
| --- | --- |
Giới (regnum): Animalia
Ngành (phylum): Chordata
Lớp (class): Aves
Bộ (ordo): Passeriformes
Họ (familia): Tyrannidae
Chi (genus): Myiarchus
Myiarchus là một chi chim trong họ Tyrannidae.
Chú thích

↑  Clements, J. F.; Schulenberg, T. S.; Iliff, M. J.; Wood, C. L.; Roberson, D.; Sullivan, B.L. (2012). “The eBird/Clements checklist of birds of the world: Version 6.7”. Truy cập ngày 19 tháng 12 năm 2012.
Hemionitis boryana

| Hemionitis boryana> Phân loại khoa học |
| --- | --- |
Giới (regnum): Plantae
Ngành (divisio): Pteridophyta
Lớp (class): Polypodiopsida
Bộ (ordo): Polypodiales
Họ (familia): Pteridaceae
Chi (genus): Hemionitis
Loài (species): H. boryana
Danh pháp hai phần
Hemionitis boryana Willd., 1810 
Hemionitis boryana là một loài dương xỉ trong họ Pteridaceae. Loài này được Willd. mô tả khoa học đầu tiên năm 1810.
Danh pháp khoa học của loài này chưa được làm sáng tỏ.
Chú thích

↑  The Plant List (2010). “Hemionitis boryana”. Truy cập ngày 28 tháng 5 năm 2014.
Ngành Rêu sừng

| Rêu sừng |
| --- | --- |
Thời điểm hóa thạch: 90–0 triệu năm trước đây  TiềnЄ Є O S D C P T J K Pg N      Create thượng đến nay
Phaeoceros laevis (L.) Prosk.
Phân loại khoa học
Giới (regnum): Plantae
Ngành (divisio): Anthocerotophyta Stotler & Stotl.-Crand.
Các lớp và bộ
 Leiosporocerotopsida Leiosporocerotales Anthocerotopsida Anthocerotales  Dendrocerotales  Notothyladales  Phymatocerotales xem Phân loại.
Danh pháp đồng nghĩa
 Anthocerotae
Rêu sừng là một ngành Rêu hay thực vật không mạch có danh pháp khoa học Anthocerotophyta. Thân thực vật màu lục, phẳng của Rêu sừng là giao tử của chúng. Rêu sừng có thể được tìm thấy trên toàn cầu, mặc dù chúng có khuynh hướng chỉ phát triển ở những nơi ẩm thấp. Một số loài phát triển với số lượng lớn giống như cỏ dại trên đất trong vườn và các nơi trồng trọt. Các loài nhiệt đới và cận nhiệt đới trong chi Dendroceros có thể được tìm thấy trên vỏ cây.
Phân loại

Rêu sừng trước đây được xem là một lớp trong ngành Rêu (Bryophyta). Tuy nhiên, hiện ngành Rêu theo định nghĩa trước kia là cận ngành với nó, vì vậy rêu sừng được xếp thành một ngành riêng, gọi là Anthocerotophyta. Ngành Bryophyta hiện chỉ bao gồm rêu thực sự.
Trước đây chỉ có một lớp Rêu sừng có tên là Anthocerotopsida, hoặc trước đó là Anthocerotae. Gần đây, một lớp thứ 2 được tách ra là Leiosporocertotopsida, lớp này bao gồm loài bất thường Leiosporoceros dussii. Tất cả loài rêu sừng khác vẫn nằm trong lớp Anthocerotopsida. Hai lớp này hiện được chia thành 5 bộ, mỗi bộ chỉ có một họ.
Trong số các thực vật trên cạn, rêu sừng là một trong những dòng dõi còn sống sót cổ nhất; các phân tích nhánh chỉ ra rằng nhóm này bắt nguồn từ trước kỷ Devon, vào khoảng cùng thời gian với rêu và rêu tản. Chỉ có khoảng 100 loài đã được biết đến, nhưng các loài mới vẫn đang được phát hiện. Số lượng và tên gọi của các chi hiện vẫn là vấn đề đang được khảo sát, và một số hệ thống phân loại khác nhau đã được công bố từ năm 1988.
Phân loại > Phát sinh chủng loài

Các dữ liệu nghiên cứu về phân tử, hình thái và siêu cấu trúc đã đưa ra được hệ thống phân loại mới của Rêu sừng.
Chú thích

↑  Stotler, Raymond E.; Barbara J. Candall-Stotler (1977). “A checklist of the liverworts and hornworts of North America”. The Bryologist. American Bryological and Lichenological Society. 80 (3): 405–428. doi:10.2307/3242017. JSTOR 3242017.
1 2  Duff, R. Joel; Juan Carlos Villarreal; D. Christine Cargill; Karen S. Renzaglia (2007). “Progress and challenges toward a phylogeny and classification of the hornworts”. The Bryologist. 110 (2): 214–243. doi:10.1639/0007-2745(2007)110[214:PACTDA]2.0.CO;2.
↑  J. C. Villareal; Cargill D. C.; Hagborg A.; Söderström L.; Renzaglia K. S. “A synthesis of hornwort diversity: Patterns, causes and future work” (pdf). Phytotaxa. 9: 150–166.Quản lý CS1: sử dụng tham số tác giả (liên kết)
Tài liệu

Grolle, Riclef (1983). “Nomina generica Hepaticarum; references, types and synonymies”. Acta Botanica Fennica. 121: 1–62.
Hasegawa, J. (1994). “New classification of Anthocerotae”. Journal of the Hattori Botanical Laboratory. 76: 21–34.
Renzaglia, Karen S. (1978). “A comparative morphology and developmental anatomy of the Anthocerotophyta”. Journal of the Hattori Botanical Laboratory. 44: 31–90.
Renzaglia, Karen S. & Vaughn, Kevin C. (2000). Anatomy, development, and classification of hornworts. In A. Jonathan Shaw & Bernard Goffinet (Eds.), Bryophyte Biology, pp. 1–20. Cambridge: Cambridge University Press. ISBN 0-521-66097-1.
Schofield, W. B. (1985). Introduction to Bryology. New York: Macmillan.
Schuster, Rudolf M. (1992). The Hepaticae and Anthocerotae of North America, East of the Hundredth Meridian. VI. Chicago: Field Museum of Natural History.
Smith, Gilbert M. (1938). Cryptogamic Botany, Volume II: Bryophytes and Pteridophytes. New York: McGraw-Hill Book Company.
Watson, E. V. (1971). The Structure and Life of Bryophytes (ấn bản thứ 3). London: Hutchinson University Library. ISBN 0-09-109301-5.
Dendroceros crispus mọc trên vỏ cây.